(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "URP (6th Edition)"

pgrading and 
Repairing PCs 

Sixth Edition 



I +5V 

-• +12V 




pgrading and 
Repairing PCs 

Sixth Edition 



Scott Mueller 




Upgrading and Repairing PCs, Sixth Edition 

Copyright© 1996 by Que® Corporation. 

All rights reserved. Printed in the United States of America. No part of this book may be 
used or reproduced in any form or by any means, or stored in a database or retrieval 
system, without prior written permission of the publisher except in the case of brief quo- 
tations embodied in critical articles and reviews. Making copies of any part of this book 
for any purpose other than your own personal use is a violation of United States copy- 
right laws. For information, address Que Corporation, 201 W. 103rd Street, Indianapolis, 
IN 46290. You may reach Que's direct sales line by calling 1-800-428-5331. 

Library of Congress Catalog No.: 96-69951 

ISBN: 0-7897-0825-6 98 97 96 6 5 4 

ISBN: 0-7897-1053-6 98 97 96 6 5 4 3 2 

This book is sold as is, without warranty of any kind, either express or implied, respect- 
ing the contents of this book, including but not limited to implied warranties for the 
book's quality, performance, merchantability, or fitness for any particular purpose. Nei- 
ther Que Corporation nor its dealers or distributors shall be liable to the purchaser or any 
other person or entity with respect to any liability, loss, or damage caused or alleged to 
have been caused directly or indirectly by this book. 

Interpretation of the printing code: the rightmost double-digit number is the year of the 
book's printing; the rightmost single-digit number, the number of the book's printing. 
For example, a printing code of 96-1 shows that the first printing of the book occurred in 
1996. 

All terms mentioned in this book that are known to be trademarks or service marks have 
been appropriately capitalized. Que cannot attest to the accuracy of this information. 
Use of a term in this book should not be regarded as affecting the validity of any trade- 
mark or service mark. 

Screen reproductions in this book were created using Collage Plus from Inner Media, 
Inc., Hollis, NH. 



Credits 



President 

Roland Elgey 

Publishing Director 

Brad R. Koch 

Editorial Services Director 

Elizabeth Keaffaber 

Managing Editor 

Michael Cunningham 

Director of Marketing 

Lynn E. Zingraf 

Acquisitions Manager 

Elizabeth A. South 

Product Director 

Kevin Kloss 

Technical Editor 

Jerry Cox 

Production Editors 

Thomas F. Hayes 
Lori A. Lyons 

Technical Specialist 

Nadeem Muhammed 



Operations Coordinator 

Patty Brooks 

Assistant Product Marketing Manager 

Christy Miller 

Book Designer 

Kim Scott 

Cover Designer 

Dan Armstrong 

Production Team 

Stephen Adams 
Debra Bolhuis 
Jason Carr 
Erin M. Danielson 
Trey Frank 
Jason Hand 
Daniel Harris 
Daryl Kessler 
Casey Price 
Kaylene Riemen 
Laura Robbins 
Bobbi Satterfield 

Indexer 

Ginny Bess 



Acquisitions Coordinator 

Tracy Williams 



Composed in Stone Serif and MCI- 'digital by Que Corporation. 



To my family: 

Lynn, Amanda, and Emerson 

Thanks for your support and patience while yet another edition was 
completed. This book has become a full-time job. 



About the Author 



Scott Mueller is president of Mueller Technical Research, an international personal 
computer research and corporate training firm. Since 1982, MTR has specialized in the 
industry's most accurate and effective corporate technical training seminars, maintaining 
a client list that includes Fortune 500 companies, the U.S. and foreign governments, 
major software and hardware corporations, as well as PC enthusiasts and entrepreneurs. 
He has logged millions of miles presenting his seminars to thousands of PC professionals 
throughout North and South America, Europe, and Australia. 

As an internationally recognized seminar director and renowned authority in decipher- 
ing technical information, Mueller has developed and presented personal computer 
training courses in all areas of PC hardware and software. He is an expert in PC hardware, 
data-recovery techniques, local area networks, and major operating systems software, 
including DOS, Windows, and OS/2. Seminars are available on an on-site contract basis. 
For more information about a custom computer training seminar for your organization, 
contact: 

Mueller Technical Research 

21718 Mayfield Lane 

Barrington, IL 60010-9733 

(847) 726-0709 

(847) 726-0710 FAX 

CompuServe ID: 73145,1566 

Internet: 73145.1566@compuserve.com 

Mueller has many popular books, articles, and course materials to his credit, in addition 
to Upgrading and Repairing PCs, which has sold more than 800,000 copies in previous 
editions. His two hour video, Your PC — The Inside Story, is available through LearnKey, 
Inc. For ordering information, contact: 

LearnKey, Inc. 

1845 West Sunset Boulevard 

St. George, UT 84770 

(800) 937-3279 

(801) 674-9733 
(801) 674-9734 FAX 

If you have questions about PC hardware, suggestions for the next version of the book, 
or any comments in general, send them to Scott via CompuServe or the Internet, if at all 
possible. Correspondence through standard mail takes him much longer to answer! 

When he is not working on books or seminars, Scott can usually be found working in the 
garage on his soon-to-be LT4-equipped Impala SS as well as various other performance 
car projects, testing the vehicles at the local drag strip, or showing them off at car shows 
and the local drive-in scene. 



Acknowledgments 

This sixth edition is the product of a great deal of additional research and development 
over the previous editions. Several people have helped me with both the research and 
production of this book. I would like to thank the following people: 

First, a very special thanks to my wife and partner, Lynn. This book continues to be an 
incredible burden on both our business and family life, and she has put up with a lot! 
Lynn is excellent at dealing with the many companies we have to contact for product 
information and research. She is the backbone of MTR. 

Thanks to Lisa Carlson of Mueller Technical Research for helping with product research 
and office management. She has fantastic organizational skills that have been a tremen- 
dous help in managing all the information that comes into and goes out of this office. 

Thanks to all the companies that have provided hardware, software, and research infor- 
mation that has been helpful in developing this book. Thanks to David Means for feed- 
back from the trenches about various products. Thanks also to Jerry Cox for assistance 
with updating several of the chapters under intense deadline pressure! 

I would like to offer a special thanks to the people at Que who have made this book pos- 
sible. First off, I would like to extend a special thanks to Elizabeth South, who has been 
my main contact at Que. Elizabeth oversaw the final deadlines and submissions, and her 
positive attitude and good nature really helped when the pressure was on. Thanks to 
Kevin Kloss for his insightful suggestions and queries about PC technology. Thanks also 
to Tom Hayes and Lori Lyons, who did much of the editing and handling of the text and 
figures once it was submitted. I have enjoyed working with you all! 

Thanks to all the readers who have e-mailed me with suggestions concerning this book, I 
welcome all of your comments. A special thanks to Paul Reid, who proofread the text 
and always has many suggestions to offer. 

Finally, I would like to thank all the people who have attended the many seminars that I 
have given; you may not realize how much I learn from each of you and your questions! 
Thanks also to those of you on the Internet and CompuServe forums with both ques- 
tions and answers, from which I have also learned a great deal. 



We'd Like to Hear from You! 



As part of our continuing effort to produce books of the highest possible quality, Que 
would like to hear your comments. To stay competitive, we really want you, as a com- 
puter book reader and user, to let us know what you like or dislike most about this book 
or other Que products. 

You can mail comments, ideas, or suggestions for improving future editions to the ad- 
dress below, or send us a fax at (317) 581-4663. For the online inclined, Macmillan Com- 
puter Publishing has a forum on CompuServe (type GO QUEBOOKS at any prompt) 
through which our staff and authors are available for questions and comments. The 
address of our Internet site is http://www.mcp.com/que (World Wide Web). 

In addition to exploring our forum, please feel free to contact me personally to 
discuss your opinions of this book: I'm 74201,1064 on CompuServe, and 
kkloss@que.mcp.com on the Internet. 

Thanks in advance — your comments will help us to continue publishing the best books 
available on computer topics in today's market. 

Kevin Kloss 

Product Director 

Que Corporation 

201 W. 103rd Street 

Indianapolis, Indiana 46290 

USA 



Although we cannot provide general technical support, we're happy to help you resolve problems 
you encounter related to our books, discs, or other products. If you need such assistance, please 
contact our Tech Support department at 800-545-5914 ext. 3833. 

To order other Que or Macmillan Computer Publishing books or products, please call our Cus- 
tomer Service department at 800-835-3202 ext. 666. 



Contents at a Glance 



Introduction 7 

1 Personal Computer Background 9 

2 Overview of System Features and 
Components 15 

3 System Teardown and Inspection 25 






Mass Storage Systems 


SS7 




13 Floppy Disk Drives 


559 




14 Hard Disk Drives 


627 




15 Hard Disk Interfaces 


695 


?■ 


16 Hard Disk Drive Installation 


763 


=fl 


17 CD-ROM Drives 


817 




18 Tape and Other Mass-Storage 






Drives 


857 





Primary System Components 


61 


4 Motherboards 


63 




5 Bus Slots and I/O Cards 


81 




6 Microprocessor Types and 
Specifications 






145 




7 Memory 


233 


^^^| 


8 The Power Supply 


323 











System Assembly and 
Maintenance 


887 




19 Building a System 

20 Maintaining Your System: 
Preventive Maintenance, 


889 


^S 


Backups, and Warranties 


905 









Input/Output Hardware 


369 




9 Input Devices 


371 




10 Video Display Hardware 


415 


*^H 


1 1 Communications and 






Networking 


457 




12 Audio Hardware 


529 


jj 



Troubleshooting and 


Diagnostics 947 


21 Software and Hardware 


Efl 


Diagnostic Tools 949 


^^H 


22 Operating Systems Software 




and Troubleshooting 971 


;-m 


23 IBM Personal Computer Family 




Hardware 1041 Ijifl 


24 A Final Word 1097 1 



I 



Appendixes 


1105 


A PC Technical Reference 




Section 


1107 


B Vendor List 


1237 


C Glossary 


1281 


Index 


1333 



Contents 



Introduction 1 

What are the Main Objectives of this Book? 2 

Who Should Use this Book? 3 

What is in this Book? 4 



I Introduction 7 

1 Personal Computer Background 9 

Personal Computing History 9 

The IBM Personal Computer 11 

The IBM-Compatible Marketplace 15 Years Later 12 

Summary 14 

2 Overview of System Features and Components 15 

Types of Systems 15 

Documentation 21 

Basic Documentation 21 

Technical-Reference Manuals 21 

Hardware-Maintenance Manuals 22 

Component Documentation 22 

Obtaining Documentation 23 

Summary 23 

3 System Teardown and Inspection 25 

Using the Proper Tools 25 

Hand Tools 26 

Soldering and Desoldering Tools 28 

Using Proper Test Equipment 30 

WrapPlugs (Loopback Connectors) 31 

Meters 32 

Logic Probes and Logic Pulsers 32 

Outlet Testers 33 

SIMM Testers 33 

Chemicals 34 

A Word About Hardware 36 

Types of Hardware 36 

English versus Metric 37 

Disassembly Procedures 37 

Disassembly Preparation 38 

XT and Slim-Line Case Systems 42 

AT- and Tower-Case Systems 50 

Summary 59 



xiv Upgrading and Repairing PCs, Sixth Edition 

II Primary System Components 61 

4 Motherboards 63 

Replacement Motherboards 64 

Knowing What to Look for (Selection Criteria) 65 

Documentation 68 

ROM BIOS Compatibility 69 

Using Correct Speed-Rated Parts 74 

Motherboard Form Factors 75 

Full-Size AT 75 

Baby-AT 75 

LPX 76 

ATX 77 

Summary 80 

5 Bus Slots and I/O Cards 81 

What is a Bus? 81 

The Processor Bus 82 

The Memory Bus 83 

The Address Bus 84 

The Need for Expansion Slots 84 

Types of I/O Buses 85 

The ISA Bus 86 

The Micro Channel Bus 92 

The EISA Bus 99 

Local Buses 103 

The PC-Card (formerly PCMCIA) Bus 121 

System Resources 124 

Interrupts (IRQs) 125 

DMA Channels 129 

I/O Port Addresses 131 

Resolving Resource Conflicts 133 

Resolving Conflicts Manually 133 

Using a System-Configuration Template 134 

Heading Off Problems: Special Boards 138 

The Future: Plug and Play Systems 141 

Summary 143 

6 Microprocessor Types and Specifications 145 

Processor Specifications 145 

Data Bus 145 

Internal Registers 148 

Address Bus 148 

Processor Speed Ratings 149 

Intel Processors 154 

8088 and 8086 Processors 154 

80186 and 80188 Processors 155 

286 Processors 156 



Contents xv 



386 Processors 158 

386DX Processors 160 

386SX Processors 160 

386SL Processors 161 

386 Processor Clones 161 

486 Processors 162 

OverDrive Processors and Sockets 178 

Pentium 192 

Pentium Pro Processor 199 

IBM (Intel-Licensed) Processors 201 

IBM SLC Processors 202 

Blue Lightning Processors 203 

Intel-Compatible Processors 204 

Math Coprocessors 207 

8087 Coprocessor 209 

80287 Coprocessor 210 

80387 Coprocessor 213 

Weitek Coprocessors 214 

80487 Upgrade 215 

Processor Tests 215 

Known Defective Chips 216 

Pentium Processor Models and Steppings 224 

Other Processor Problems 231 

Heat and Cooling Problems 231 

Summary 232 

7 Memory 233 

The System Logical Memory Layout 233 

Conventional (Base) Memory 234 

Upper Memory Area (UMA) 234 

Extended Memory 260 

Expanded Memory 264 

Preventing ROM BIOS Memory Conflicts and Overlap 265 

ROM Shadowing 266 

Total Installed Memory versus Total Usable Memory 267 

Adapter Memory Configuration and Optimization 269 

Taking Advantage of Unused Upper Memory 271 

Physical Memory 275 

RAM Chips 276 

Physical Storage and Organization 277 

Memory Banks 279 

Parity Checking 281 

Single In-Line Memory Modules (SIMMs) 284 

SIMMPinouts 289 

RAM Chip Speed 292 

EDO RAM 293 

Upgrading by Increasing System Memory 293 

Upgrade Strategies 294 



xvi Upgrading and Repairing PCs, Sixth Edition 



Adding Motherboard Memory 294 

Selecting and Installing Memory Chips or SIMMs 294 

Adding Adapter Boards 301 

Installing Memory 302 

Installing 640K on an XT Motherboard 305 

Upgrading the ROM BIOS 307 

Keyboard-Controller Chips 309 

BIOS Manufacturers and Vendors 309 

Special ROM BIOS-Related Problems 311 

Changes to an Existing BIOS 312 

Testing Memory 320 

Parity Checking 321 

Power-On Self Test 321 

Advanced Diagnostic Tests 321 

Summary 321 

8 The Power Supply 323 

Power Supply Function and Operation 323 

Power Supply Form Factors 325 

Power Supply Connectors 332 

The PowerGood Signal 336 

Power Supply Loading 341 

Power-Supply Ratings 343 

Power Supply Specifications 345 

Power-Use Calculations 347 

Leave It On or Turn It Off? 349 

Energy Star Systems 351 

Power Supply Problems 352 

Power Supply Troubleshooting 353 

Digital Multi-Meters 354 

Specialized Test Equipment 357 

Repairing the Power Supply 361 

Obtaining Replacement Units 362 

Deciding on a Power Supply 363 

Sources for Replacement Power Supplies 364 

RTC/NVRAM Batteries 365 

Summary 367 

III Input/Output Hardware 369 

9 Input Devices 371 

Keyboards 371 

Types of Keyboards 371 

Keyboard Technology 378 

Keyboard Troubleshooting and Repair 396 

Reference Material 402 



Contents xvii 



Mice 403 

Mouse Interface Types 404 

Mouse Troubleshooting 407 

Trackpoint 410 

Glidepoint 412 

Game Adapter (Joystick) Interface 413 

Summary 414 

10 Video Display Hardware 415 

Monitors 415 

Display Technologies 415 

Monochrome versus Color 418 

The Right Size 419 

Monitor Resolution 420 

Interlaced versus Noninterlaced 421 

Energy and Safety 421 

Monitor Buying Criteria 422 

Video Cards 426 

Obsolete Display Adapters 426 

VGA Adapters and Displays 433 

Super VGA (SVGA) 438 

VESA SVGA Standards 440 

XGA and XGA-2 441 

Video Memory 443 

Improving Video Speed 445 

Video Card Buying Criteria 449 

Video Cards for Multimedia 449 

Adapter and Display Troubleshooting 454 

Summary 456 

1 1 Communications and Networking 457 

Using Communications Ports and Devices 457 

Serial Ports 457 

High Speed Serial Ports 461 

Serial-Port Configuration 463 

Modem Standards 465 

Integrated Services Digital Network (ISDN) 484 

Parallel Ports 485 

Parallel Port Configuration 489 

Detecting Serial and Parallel Ports with DEBUG 490 

Testing Serial Ports 491 

Testing Parallel Ports 492 

Future Serial and Parallel Port Replacements 493 

USB (Universal Serial Bus) 494 

IEEE 1394 494 

Understanding the Components of a LAN 495 

Workstations 497 

File Servers 498 



xviii Upgrading and Repairing PCs, Sixth Edition 



Evaluating File Server Hardware 498 

Network Interface Cards (NICs) 503 

LAN Cables 509 

Using Twisted Pair Cable 509 

Using Coaxial Cable 510 

Using Fiber Optic Cable 512 

Network Topologies 513 

Selecting the Proper Cable 515 

Using the IBM Cabling System 515 

Connecting the Cables 517 

Examining Protocols, Frames, and Communications 518 

Using Frames That Contain Other Frames 519 

Using the OSI Reference Model 520 

Using Low-Level Protocols 522 

Evaluating High-Speed Networking Technologies 523 

Using the Fiber Distributed Data Interface (FDDI) 524 

Using 100 Mbps Ethernet 524 

Using ATM 526 

TCP/IP and the Internet 526 

Connecting to the Internet 527 

Summary 528 

12 Audio Hardware 529 

Sound Card Applications 529 

Games 530 

Multimedia 531 

MIDI 532 

Presentations 533 

Recording 533 

Voice Annotation 534 

Voice Recognition 534 

Proofreading 534 

Audio CDs 535 

Sound Card Concepts and Terms 535 

The Nature of Sound 535 

Game Standards 535 

Frequency Response 536 

Sampling 536 

8-Bit versus 16-Bit 536 

The CD-ROM Connection 538 

Sound File Formats 539 

Compression/Decompression 539 

Sound Card Characteristics 540 

Compatibility 540 

Sampling 540 

Stereo versus Mono 540 

CD-ROM Connector 541 

Data Compression 541 

MIDI Interface 542 



Contents xix 



Bundled Software 542 

Multi-Purpose Digital Signal Processors 542 

Sound Drivers 542 

Connectors 543 

Volume Control 544 

Sound Card Options 544 

Speakers 544 

Microphone 546 

Joysticks 547 

MIDI Connector 547 

Synthesizer 547 

Sound Card Installation 548 

Troubleshooting Sound Card Problems 550 

Hardware (Resource) Conflicts 550 

Other Sound Card Problems 554 

Summary 556 

IV Mass Storage Systems 557 

13 Floppy Disk Drives 559 

Development of the Floppy Disk Drive 559 

Drive Components 560 

Read/Write Heads 560 

The Head Actuator 563 

The Spindle Motor 564 

Circuit Boards 565 

The Faceplate 566 

Connectors 566 

Drive-Configuration Devices 568 

The Floppy Disk Controller 574 

Disk Physical Specifications and Operation 577 

Disk Magnetic Properties 580 

Logical Operation 582 

Types of Floppy Drives 586 

The 360K 5 1/4-Inch Drive 587 

The 1.2M 5 1/4-Inch Drive 588 

The 720K 3 1/2-Inch Drive 589 

The 1.44M 3 1/2-Inch Drive 590 

The 2.88M 3 1/2-Inch Drive 591 

Handling Recording Problems with 1.44M 3 1/2-Inch Drives 591 

Handling Recording Problems with 1.2M and 360K Drives 593 

Analyzing Floppy Disk Construction 594 

Floppy Disk Media Types and Specifications 596 

Formatting and Using High- and Low-Density Disks 600 

Caring for and Handling Floppy Disks and Drives 607 

Drive-Installation Procedures 610 

Drive Configuration 610 

Physical Installation 615 

Floppy Drive Installation Summary 617 



xx Upgrading and Repairing PCs, Sixth Edition 



Troubleshooting and Correcting Problems 618 

Handling the "Phantom Directory" (Disk Change) 618 

Handling Incorrect Media-Sensor Operation 619 

Handling Problems Caused by Using Double-Density Disks at 

High Density 620 

Handling Track-Width Problems from Writing on 360K Disks 

with a 1.2M Drive 621 

Handling Off-Center Disk Clamping 621 

Realigning Misaligned Drives 622 

Repairing Floppy Drives 622 

Cleaning Floppy Drives 623 

Setting the Floppy Drive Speed Adjustment 624 

Aligning Floppy Disk Drives 625 

Summary 626 

14 Hard Disk Drives 627 

Definition of a Hard Disk 627 

Hard Drive Advancements 627 

Areal Density 628 

Hard Disk Drive Operation 628 

The Ultimate Hard Disk Drive Analogy! 629 

Magnetic Data Storage 631 

Data Encoding Schemes 634 

Encoding Scheme Comparisons 639 

Sectors 641 

Basic Hard Disk Drive Components 647 

Hard Disk Platters (Disks) 648 

Recording Media 649 

Read/Write Heads 651 

Read/Write Head Designs 652 

Head Sliders 655 

Head Actuator Mechanisms 656 

Air Filters 667 

Hard Disk Temperature Acclimation 669 

Spindle Motors 670 

Spindle Ground Strap 671 

Logic Boards 672 

Cables and Connectors 673 

Configuration Items 674 

The Faceplate or Bezel 675 

Hard Disk Features 676 

Actuator Mechanism 676 

Head Parking 677 

Reliability 679 

Performance 679 

Shock Mounting 690 

Cost 691 

Capacity 691 

Specific Recommendations 693 

Summary 693 



Contents xxi 



15 Hard Disk Interfaces 695 

Interfaces Choices 695 

The ST-506/412 Interface 697 

The ESDI Interface 705 

The IDE Interface 708 

Introduction to SCSI 726 

IDE versus SCSI 755 

Recommended Aftermarket Controllers and Host Adapters 757 

Disk Hardware and Software Limitations 760 

Disk Interface Capacity Limitations 760 

ROM BIOS Capacity Limitations 762 

Operating-System Capacity Limitations 762 

Summary 762 

16 Hard Disk Drive Installation 763 

Hard Disk Installation Procedures 763 

Controller Configuration 764 

Physical Installation 770 

System Configuration 770 

Formatting and Software Installation 783 

Hard Disk Drive Troubleshooting and Repair 809 

17xx, 104xx, and 210xxxx Hardware Error Codes 809 

Drive Spin Failure (Stiction) 812 

Logic Board Failures 814 

Summary 815 

17 CD-ROM Drives 817 

What is CD-ROM? 817 

CD-ROM, a Brief History 818 

CD Technology 818 

Inside Data CDs 820 

What Types of Drives are Available? 822 

CD-ROM Drive Specifications 822 

Interface 825 

Loading Mechanism 827 

Other Drive Features 828 

CD-ROM Disc and Drive Formats 829 

Data Standard: ISO 9660 830 

High Sierra Format 831 

CD-DA (Digital Audio) 832 

CD+ 832 

PhotoCD 832 

CD-ROM-XA, or Extended Architecture 834 

CD-R 835 

CD-E 835 

DVD (Digital Video Disc) 836 

Multimedia CD-ROM 837 

MPC CD-ROMs 837 



xxii Upgrading and Repairing PCs, Sixth Edition 



Installing Your Drive 838 

Avoiding Conflict: Get Your Cards in Order 838 

External CD-ROM Hook-Up 844 

Internal Drive Installation 845 

SCSI Chains: Internal, External, a Little of Both 848 

CD-ROM Software on Your PC 850 

Software Loading 853 

CD-ROM in Microsoft Windows 3.x 854 

CD-ROM in Windows 95 854 

Troubleshooting CD-ROMs 855 

Summary 856 

18 Tape and Other Mass-Storage Drives 857 

Tape Backup Drives 857 

The Origins of Tape Backup Standards 859 

The QIC Standards 859 

Common QIC Tape Backup Types 862 

Newer High-Capacity QIC-Standard Drives 865 

QIC-Tape Compatibility 866 

Other High-Capacity Tape Drive Standards 867 

Choosing a Tape Backup Drive 871 

Tape Drive Installation Issues 873 

Tape Drive Backup Software 875 

Removable Storage Drives 877 

Magnetic Media Drives 878 

Floptical Drives 880 

Magneto-Optical Drives 882 

Write-Once, Read Many (WORM) Drives 884 

Summary 885 

V System Assembly and Maintenance 887 

19 Building a System 889 

System Components 890 

Case and Power Supply 890 

Motherboard 891 

I/O Ports 899 

Floppy Disk Drive 899 

Hard Disk Drive 899 

CD-ROM Drive 900 

Keyboard and Pointing Device (Mouse) 900 

Video Card and Display 900 

Sound Card and Speakers 901 

Accessories 901 

System Assembly 902 

Sources and Suppliers 902 

Summary 903 



Contents xxiii 



20 Maintaining Your System: Preventive Maintenance, 
Backups, and Warranties 905 

Developing a Preventive Maintenance Program 906 

Active Preventive Maintenance Procedures 907 

Hard Disk Maintenance 918 

Passive Preventive Maintenance Procedures 924 

Using Power-Protection Systems 933 

Surge Suppressors (Protectors) 935 

Phone Line Surge Protectors 936 

Line Conditioners 936 

Backup Power 936 

Using Data-Backup Systems 939 

Backup Policies 939 

Dedicated Backup Hardware 943 

Purchasing Warranty and Service Contracts 943 

Summary 946 

VI Troubleshooting and Diagnostics 947 

21 Software and Hardware Diagnostic Tools 949 

Diagnostics Software 949 

The Power-On Self Test (POST) 950 

What is Tested? 950 

POST Audio Error Codes 951 

POST Visual Error Codes 951 

I/O Port POST Codes 952 

IBM Diagnostics 955 

IBM Advanced Diagnostics 955 

General Purpose Diagnostics Programs 959 

AMIDiag 960 

CheckitPro 961 

Micro-Scope 961 

Norton Utilities Diagnostics 962 

PC Technician 963 

QAPlus/FE 963 

Disk Diagnostics 964 

Drive Probe 964 

Disk Manager 965 

Data Recovery Utilities 966 

Norton Utilities 966 

Configuration Utilities 967 

MSD (Microsoft Diagnostics) 967 

Windows Diagnostic Software 968 

Shareware and Public-Domain Diagnostics 968 

Summary 969 



xxiv Upgrading and Repairing PCs, Sixth Edition 



22 Operating Systems Software and Troubleshooting 971 

Disk Operating System (DOS) 971 

Operating System Basics 972 

The System ROM BIOS 973 

DOS Components 975 

The I/O System and System Files 976 

DOS History 983 

The Boot Process 986 

How DOS Loads and Starts 987 

File Management 992 

DOS File Space Allocation 993 

Interfacing to Disk Drives 995 

DOS Structures 1000 

Potential DOS Upgrade Problems 1011 

Known Bugs in DOS 1014 

PS/2 BIOS Update (DASDDRVR.SYS) 1019 

DOS Disk and Data Recovery 1024 

The RECOVER Command 1033 

SCANDISK 1035 

The DEBUG Program 1035 

DEBUG Commands and Parameters 1036 

Memory-Resident Software Conflicts 1039 

Hardware Problems versus Software Problems 1039 

Summary 1040 

23 IBM Personal Computer Family Hardware 1041 

System-Unit Features by Model 1042 

An Introduction to the PC 1042 

PC Models and Features 1044 

PC Technical Specifications 1046 

An Introduction to the PC Convertible 1051 

PC Convertible Specifications and Highlights 1053 

PC Convertible Models and Features 1054 

An Introduction to the XT 1056 

XT Models and Features 1058 

XT Technical Specifications 1060 

An Introduction to the 3270 PC 1066 

3270 PC Models and Features 1066 

The Significance of the 3270 1068 

An Introduction to the XT 370 1069 

XT 370 Models and Features 1069 

An Introduction to the Portable PC 1070 

Portable PC Technical Specifications 1072 

An Introduction to the AT 1075 

AT Models and Features 1078 

AT Technical Specifications 1082 

AT 3270 1088 

The AT 370 1088 



Contents xxv 



An Introduction to the XT Model 286 1088 

XT Model 286 Models and Features 1091 

XT Model 286 Technical Specifications 1091 

Summary 1096 

24 A Final Word 1097 

Manuals 1098 

Machines 1100 

Modems 1101 

Magazines 1102 

The Appendixes 1103 

In Conclusion 1104 

VII Appendixes 1105 

A PC Technical Reference Section 1107 

General Information 1108 

ASCII Character Code Charts 1108 

Hexadecimal/ASCII Conversions 1109 

Extended ASCII Keycodes for ANSI.SYS 1115 

EBCDIC Character Codes 1116 

Metric System (SI) Prefixes 1121 

Powers of 2 1122 

Hardware and ROM BIOS Data 1123 

Interrupts (IRQs) 1123 

IBM PC and XT Motherboard Switch Settings 1124 

DMA Channels 1125 

AT CMOS RAM Addresses 1125 

IBM BIOS Model, Submodel, and Revision Codes 1128 

Disk Software Interfaces 1130 

Motherboard Connectors 1132 

Wrap Plug Diagrams 1132 

Interlink Cables 1134 

Interlink Serial Cables 1135 

Interlink Parallel Cables 1135 

System Video Information 1136 

Monitor ID Pins 1137 

Modem Control Codes 1138 

Printer Control Codes 1145 

DOS Disk Structures and Layout 1154 

DOS Boot Record 1155 

Directory Structure 1156 

Hard Disk Drives 1157 

AT Motherboard BIOS Hard Drive Tables 1173 

Troubleshooting Error Codes 1186 

ROM BIOS Port 80h Power-On Self Test (POST) Codes 1186 

Hewlett-Packard POST and Diagnostics Error Codes 1196 



xxvi Upgrading and Repairing PCs, Sixth Edition 

IBM POST and Diagnostics Display Error Codes 1200 

IBM SCSI Error Codes 1221 

DOS Error Messages 1227 

IBM Technical Manuals and Updates 1228 

Guide to Operations and Quick-Reference Manuals 1228 

Hardware-Maintenance Library 1229 

Technical-Reference Library 1232 

Ordering Information 1236 

B Vendor List 1237 

C Glossary 1281 

Index 1333 



Introduction 



Welcome to Upgrading and Repairing PCs, Sixth Edition. This book is for people who want 
to upgrade, repair, maintain, and troubleshoot computers. It covers the full range of 
PC-compatible systems from the oldest 8-bit machines to the latest in high-end 64-bit 
workstations. 

In addition, this book covers state-of-the-art hardware and accessories that make the 
most modern personal computers easier, faster, and more productive to use. Hardware 
coverage includes the 486, Pentium and Pentium Pro CPU chips, new cache and main 
memory technology, PCI local bus technology, CD-ROM drives, tape backups, sound 
boards, PCMCIA devices for laptops, IDE and SCSI-interface devices, larger and faster 
hard drives, and new video adapter and display capabilities. 

The comprehensive coverage of the PC-compatible personal computer in this book has 
consistently won acclaim. With the release of this sixth edition, Upgrading and Repairing 
PCs continues its place as one of the most comprehensive and easily used references on 
even the most modern system — those based on cutting-edge hardware and software. The 
book examines PCs in depth, outlines the differences among them, and presents options 
for configuring each system at the time you purchase it. 

Sections of this book provide detailed information about each internal component of a 
personal computer system, from the processor to the keyboard and video display. The 
book examines the options available in modern, high-performance PC configurations, 
and how to use them to your advantage; it focuses on much of the hardware and soft- 
ware available today and specifies the optimum configurations for achieving maximum 
benefit for the time and money you spend. At a glance, here are the major system com- 
ponents and peripherals covered in this edition of Upgrading and Repairing PCs: 

■ Pentium Pro, Pentium, 486, and earlier central processing unit (CPU) chips. 

■ The latest processor upgrade socket specifications. 

■ New motherboard chipsets and designs, including the new ATX form factor. 

■ Special bus architectures and devices, including high-speed PCI (Peripheral Compo- 
nent Interconnect) and VL-Bus (VESA Local), EISA (Extended Industry Standard 
Architecture), and MCA (Micro Channel Architecture). 

■ Bus resources which often conflict such as Interrupt ReQuest (IRQ) lines, Direct 
Memory Access (DMA) channels, and Input Output (I/O) port addresses. 



Introduction 

■ Plug and Play architecture. 

■ Larger, faster hard drives and hard drive interfaces, including IDE and SCSI. 

■ Floppy drives, including 360K, 1.2M, 1.44M, and 2.88M drives. 

■ New storage devices such as CD-ROM and Magneto-Optical drives. 

■ Increasing system memory capacity with SIMM and DIMM modules. 

■ New types of memory including Synchronous Pipeline Burst cache, EDO RAM, 
Burst EDO, and Synchronous DRAM. 

■ Large-screen Super VGA monitors and high-speed graphics adapter cards. 

■ Peripheral devices such as CD-ROM drives, sound boards, and tape backups. 

■ PCMCIA devices for laptops. 

■ Multimedia. 

This book also shows you how to troubleshoot the kind of hardware problems that can 
make PC upgrading and repairing difficult. Troubleshooting coverage includes IRQ, DMA 
channel and I/O Port addressees, as well as memory address conflicts. This book tells you 
how to avoid problems with these system resources, and how to make installing a new 
adapter board in your computer a simple plug-and-play operation. This book also focuses 
on software problems, starting with the basics of how DOS or another operating system 
works with your system hardware to start up your system. You also learn how to trouble- 
shoot and avoid problems involving system hardware, the operating system, and applica- 
tions software such as word processors or spreadsheets. 

This book is the result of years of research and development in the production of my PC 
hardware, operating system, and data recovery seminars. Over the years I have personally 
taught (and still teach) thousands of people about PC troubleshooting, upgrading, main- 
tenance, repair, and data recovery. This book represents the culmination of many years 
of field experience as well as knowledge culled from the experiences of thousands of 
others. What originally started out as a simple course workbook has over the years grown 
into a complete reference on the subject. Now you can benefit from this experience and 
research. 

What are the Main Objectives of this 
Book? 

Upgrading and Repairing PCs focuses on several objectives. The primary one is to help you 
learn how to maintain, upgrade, and repair your PC system. To that end, Upgrading and 
Repairing PCs helps you fully understand the family of computers that has grown from 
the original IBM PC, including all PC-compatible systems. This book discusses all areas of 
system improvement such as floppy disks, hard disks, central processing units, math 



Who Should Use this Book? 

coprocessors, and power-supply improvements. The book discusses proper system and 
component care; it specifies the most failure-prone items in different PC systems, and 
tells you how to locate and identify a failing component. You'll learn about powerful 
diagnostics hardware and software that enable a system to help you determine the cause 
of a problem and how to repair it. 

The PC-compatible microcomputer family is moving forward rapidly in power and 
capabilities. Processor performance increases with every new chip design. Upgrading 
and Repairing PCs helps you gain an understanding of each of the CPU chips used in 
PC-compatible computer systems. 

This book covers the important differences between major system architectures — the 
original Industry Standard Architecture (ISA), Extended Industry Standard Architecture 
(EISA), and Micro Channel Architecture (MCA). The most modern systems use special 
local bus architectures and adapter cards to get top speed from system peripherals like 
video adapter cards and hard drives. Besides ISA, EISA, and MCA, these local bus architec- 
tures include PCI (Peripheral Component Interconnect) and VL-Bus devices. Upgrading 
and Repairing PCs covers each of these system architectures and their adapter boards to 
help you make decisions about which kind of system you may want to buy in the future, 
and how to upgrade and troubleshoot such systems. 

The amount of storage space available to modern PCs is increasing geometrically. Upgrad- 
ing and Repairing PCs covers storage options ranging from larger, faster hard drives to 
state-of-the-art storage devices. In addition, this book provides detailed information on 
upgrading and troubleshooting system RAM. 

When you finish reading this book, you should have the knowledge to upgrade as well as 
troubleshoot and repair almost all systems and components. 



Who Should Use this Book? 

Upgrading and Repairing PCs is designed for people who want a good understanding of 
how their PC systems work. Each section fully explains common and not-so-common 
problems, what causes problems, and how to handle problems when they arise. You will 
gain an understanding of disk configuration and interfacing, for example, that can im- 
prove your diagnostics and troubleshooting skills. You'll develop a feel for what goes on 
in a system so that you can rely on your own judgment and observations and not some 
table of canned troubleshooting steps. This book is for people who are truly interested in 
their systems and how they operate. 

Upgrading and Repairing PCs is written for people who will select, install, configure, main- 
tain, and repair systems they or their companies use. To accomplish these tasks, you 
need a level of knowledge much higher than that of an average system user. You must 
know exactly which tool to use for a task and how to use the tool correctly. This book 
can help you achieve this level of knowledge. 



Introduction 

What is in this Book? 

Part I of this book serves primarily as an introduction. Chapter 1 begins with an intro- 
duction to the development of the original IBM PC and PC-compatibles. Chapter 2 pro- 
vides information about the different types of systems you encounter and what separates 
one type of system from another, including the types of system bus that differentiate 
systems. Chapter 2 also provides an overview of the types of PC systems that help build a 
foundation of knowledge essential for the remainder of the book. Chapter 3 discusses the 
physical disassembly and reassembly of a system. 

Part II covers the primary system components of a PC. Chapter 4 begins this part with a 
discussion of the components in a PC system by covering the motherboard. Chapter 5 
continues this discussion by focusing on the different types of expansion slots and bus 
types found in PC systems. Chapter 6 goes into detail about the central processing unit 
(CPU), or main processor, including those from Intel as well as other companies. Chapter 
7 gives a detailed discussion of PC memory, from basic architecture to the physical chips 
and SIMMs themselves. Chapter 8 is a detailed investigation of the power supply, which 
remains the primary cause for PC system problems and failures. 

Part III is about input/output hardware and begins with Chapter 9 on input devices. This 
chapter includes coverage of keyboards, pointing devices, and the game port. Chapter 10 
discusses video display hardware, including video adapters and monitors. Chapter 11 is 
a detailed discussion of communications and networking hardware, while Chapter 12 
focuses on audio hardware including sound boards and speaker systems. 

Part IV is about mass storage systems and leads off with Chapter 13 on floppy disk drives 
and controllers. Chapter 14 is a detailed discussion of hard disk drives and drive technol- 
ogy. Chapter 15 covers hard disk interfaces, including IDE and SCSI, in depth. Chapter 
16 details the installation requirements and procedures for a hard disk. This information 
is invaluable when you install drives as either replacements or upgrades in a system, and 
if you troubleshoot and repair malfunctioning drives. Chapter 17 is about CD-ROM 
drives, and Chapter 18 covers tape and other mass storage drives. 

Part V covers system assembly and maintenance and starts off with Chapter 19 on buy- 
ing or building a PC-compatible system as well as system upgrades and improvements. 
This information is useful especially if you make purchasing decisions, and also serves as 
a general guideline for features that make a certain compatible computer a good or bad 
choice. The more adventurous can use this information to assemble their own custom 
system from scratch. Chapter 20 covers system preventive maintenance, backups, and 
warranties. 

Part VI covers troubleshooting and diagnostics and starts off with Chapter 21 on diag- 
nostic tools. Chapter 22 covers operating system software and troubleshooting as well 
as data recovery. 

Chapter 23 covers in considerable depth the original classic IBM PC, XT, and AT comput- 
ers. All modern compatibles are based on these systems, so this information can serve 
as a useful reference. This information is useful not only for supporting actual IBM 



What is in this Book? 

equipment, but also for PC-compatible systems not supplied with extensive documenta- 
tion. You learn how to compare systems with the original IBM standard, and see how far 
we have come since these original cornerstone systems were introduced. 

Appendix A provides an extensive PC technical reference section, including a variety of 
technical information tables. Appendix B provides an extremely well-detailed vendor list 
useful for finding suppliers and vendors of necessary hardware and software. The last 
section provides an informative glossary. 

I believe that Upgrading and Repairing PCs will prove to be the best book of its kind on the 
market. It offers not only the breadth of PC-compatible equipment, but also much in- 
depth coverage of each topic. This book is valuable as a reference tool for understanding 
how various components in a system interact and operate, and as a guide to repairing 
and servicing problems you encounter. Upgrading and Repairing PCs is far more than just a 
repair manual. I sincerely hope that you enjoy it. 




Introduction 




-+5V 

e 

-G 
-+12V 






1 Personal Computer Background 

2 Overview of System Features and Components 

3 System Teardown and Inspection 



~ P( 




- 1 



V 










L 






M 



\\\ 






i\\\\V 



Chapter 1 

Personal Computer 
Background 



Many discoveries and inventions have contributed to the development of the personal 
computer. Examining a few important developmental landmarks can help bring the 
entire picture into focus. 



Personal Computing History 

A modern digital computer is largely a collection of electronic switches. These switches 
are used to represent, as well as to control, the routing of data elements called binary 
digits (bits). Because of the on or off nature of the binary information and signal routing 
used by the computer, an efficient electronic switch was required. The first electronic 
computers used vacuum tubes as switches, and although the tubes worked, they had 
many problems. 

The tube was inefficient as a switch. It consumed a great deal of electrical power and 
gave off enormous heat — a significant problem in the earlier systems. Primarily because 
of the heat they generated, tubes were notoriously unreliable — one failed every two 
hours or so in the larger systems. 

The invention of the transistor, or semiconductor, was one of the most important 
developments leading to the personal computer revolution. The transistor was invented 
in 1948 by Bell Laboratories engineers John Bardeen, Walter Brattain, and William 
Shockley. The transistor, which essentially is a solid-state electronic switch, replaced 
the much less suitable vacuum tube. Because the transistor consumed significantly less 
power, a computer system built with transistors was much smaller, faster, and more 
efficient than a computer system built with vacuum tubes. 

The conversion to transistors began the trend toward miniaturization that continues to 
this day. Today's small laptop (or palmtop) PC systems, which run on batteries, have 
more computing power than many earlier systems that filled rooms and consumed huge 
amounts of electrical power. 



3 

Q. 

e 

A 

o' 

3 



10 Chapter 1 — Personal Computer Background 

In 1959, engineers at Texas Instruments invented the integrated circuit (IC), a semicon- 
ductor circuit that contains more than one transistor on the same base (or substrate 
material) and connects the transistors without wires. The first IC contained only six 
transistors. By comparison, the Intel Pentium Pro microprocessor used in many of 
today's high-end systems has more than 5.5 million transistors, and the integral cache 
built into some of these chips contains an additional 16 million transistors. Today, many 
ICs have transistor counts in the multimillion range. 

In 1969, Intel introduced a lK-bit memory chip, which was much larger than any- 
thing else available at the time. (IK bits equals 1,024 bits, and a byte equals 8 bits. This 
chip, therefore, stored only 128 bytes — not much by today's standards.) Because of 
Intel's success in chip manufacturing and design, Busicomp, a Japanese calculator- 
manufacturing company, asked Intel to produce 12 different logic chips for one of its 
calculator designs. Rather than produce 12 separate chips, Intel engineers included all 
the functions of the chips in a single chip. 

In addition to incorporating all the functions and capabilities of the 12-chip design into 
one multipurpose chip, the engineers designed the chip to be controlled by a program 
that could alter the function of the chip. The chip then was generic in nature, meaning 
that it could function in designs other than calculators. Previous designs were hard-wired 
for one purpose, with built-in instructions; this chip would read from memory a variable 
set of instructions that would control the function of the chip. The idea was to design 
almost an entire computing device on a single chip that could perform different func- 
tions, depending on what instructions it was given. 

The first microprocessor — the Intel 4004, a 4-bit processor — was introduced in 1971. The 
chip operated on four bits of data at a time. The successor to the 4004 chip was the 8008 
8-bit microprocessor, introduced in 1972. 

In 1973, some of the first microcomputer kits based on the 8008 chip were developed. 
These kits were little more than demonstration tools and did little except blink lights. In 
late 1973, Intel introduced the 8080 microprocessor, which was 10 times faster than the 
earlier 8008 chip and addressed 64K of memory. This breakthrough was the one that the 
personal computer industry had been waiting for. 

MITS introduced the Altair kit in a cover story in the January 1975 issue of Popular Elec- 
tronics magazine. The Altair kit, considered to be the first personal computer, included an 
8080 processor, a power supply, a front panel with a large number of lights, and 256 
bytes (not kilobytes) of memory. The kit sold for $395 and had to be assembled. The 
computer included an open architecture bus (slots) that prompted various add-ons and 
peripherals from aftermarket companies. The new processor inspired other companies to 
write programs, including the CP/M (Control Program for Microprocessors) operating 
system and the first version of the Microsoft BASIC (Beginners All-purpose Symbolic 
Instruction Code) programming language. 

IBM introduced what can be called its first personal computer in 1975. The Model 5100 
had 16K of memory, a built-in 16-line-by-64-character display, a built-in BASIC language 
interpreter, and a built-in DC-300 cartridge tape drive for storage. The system's $9,000 



The IBM Personal Computer 11 

price placed it out of the mainstream personal computer marketplace, which was domi- 
nated by experimenters (affectionately referred to as hackers) who built low-cost kits 
($500 or so) as a hobby. The IBM system obviously was not in competition for this low- 
cost market and did not sell well. 

The Model 5100 was succeeded by the 5110 and 5120 before IBM introduced what we 

know as the IBM Personal Computer (Model 5150). Although the 5100 series preceded 

the IBM PC, the older systems and the 5150 IBM PC had nothing in common. The PC 3 

IBM turned out was closely related to the IBM System/23 DataMaster, an office computer 3 

system introduced in 1980. 



In 1976, a new company called Apple Computer introduced the Apple I, which sold for 
$695. This system consisted of a main circuit board screwed to a piece of plywood; a case 
and power supply were not included. Only a few of these computers were made, and 
they reportedly have sold to collectors for more than $20,000. The Apple II, introduced 
in 1977, helped set the standard for nearly all the important microcomputers to follow, 
including the IBM PC. 

The microcomputer world was dominated in 1980 by two types of computer systems. 
One type, the Apple II, claimed a large following of loyal users and a gigantic software 
base that was growing at a fantastic rate. The other type, CP/M systems, consisted not of 
a single system but of all the many systems that evolved from the original MITS Altair. 
These systems were compatible with one another and were distinguished by their use of 
the CP/M operating system and expansion slots, which followed the S-100 (for slots with 
100 pins) standard. All these systems were built by a variety of companies and sold under 
various names. For the most part, however, these companies used the same software 
and plug-in hardware. It is interesting to note that none of these systems were PC- 
compatible, or Mac-compatible, the two primary standards in place today! 

The IBM Personal Computer 

At the end of 1980, IBM decided to truly compete in the rapidly growing low-cost per- 
sonal computer market. The company established what then was called the Entry Sys- 
tems Division, located in Boca Raton, Florida, to develop the new system. This small 
group consisted of 12 engineers and designers under the direction of Don Estridge; the 
team's chief designer was Lewis Eggebrecht. The division developed IBM's first real PC. 
(IBM considered the 5100 system, developed in 1975, to be an intelligent programmable 
terminal rather than a genuine computer, even though it truly was a computer.) Nearly 
all these engineers had been moved to the new division from the System/23 DataMaster 
project, which in 1980 introduced a small office computer system that was the closest 
predecessor to the IBM PC. 

Much of the PC's design was influenced by the DataMaster's design. In the DataMaster's 
single-piece design, the display and keyboard were integrated into the unit. Because 
these features were limiting, they became external units on the PC, although the PC 
keyboard layout and electrical designs were copied from the DataMaster. 



a. 



© 

3 



12 Chapter 1 — Personal Computer Background 

Several other parts of the IBM PC system also were copied from the DataMaster, includ- 
ing the expansion bus (or input/output slots), which included not only the same physi- 
cal 62-pin connector, but also almost identical pin specifications. This copying was 
possible because the PC used the same interrupt controller as the DataMaster and a simi- 
lar direct memory access (DMA) controller. Expansion cards already designed for the 
DataMaster could then be easily redesigned to function in the PC. 

The DataMaster used an Intel 8085 CPU, which had a 64K address limit, as well as an 
8-bit internal and external data bus. This arrangement prompted the PC design team to 
use the Intel 8088 CPU, which offered a much larger (1M) memory address limit, and an 
internal 16-bit data bus, but only an 8-bit external data bus. The 8-bit external data bus 
and similar instruction set allowed the 8088 to be easily interfaced into the earlier 
DataMaster designs. 

Estridge and the design team rapidly developed the design and specifications for the new 
system. In addition to borrowing from the System/23 DataMaster, the team studied the 
marketplace, which also had enormous influence on the IBM PC's design. The designers 
looked at the prevailing standards, learned from the success of those systems, and incor- 
porated into the new PC all the features of the popular systems — and more. With the 
parameters for design made obvious by the market, IBM produced a system that filled its 
niche in the market perfectly. 

IBM brought its system from idea to delivery in one year by using existing designs and 
purchasing as many components as possible from outside vendors. The Entry Systems 
Division was granted autonomy from IBM's other divisions and could tap resources out- 
side the company, rather than go through the bureaucratic procedures that required 
exclusive use of IBM resources. IBM contracted out the PC's languages and operating 
system, for example, to a small company named Microsoft. (IBM originally contacted 
Digital Research, which invented CP/M, but that company apparently was not interested 
in the proposal. Microsoft was interested, however, and today, it is one of the largest 
software companies in the world.) The use of outside vendors also was an open invita- 
tion for the aftermarket to jump in and support the system — and it did. 

On Wednesday, August 12, 1981, a new standard took its place in the microcomputer 
industry with the debut of the IBM PC. Since then, hundreds of millions of PC- 
compatible systems have been sold, as the original PC has grown into a large family of 
computers and peripherals. More software has been written for this computer family 
than for any other system on the market. 

The IBM-Compatible Marketplace 15 Years 
Later 

In the more than 15 years since the original IBM PC was introduced, many changes have 
occurred. The IBM-compatible computer, for example, advanced from a 4.77-MHz 8088- 
based system to 166-MHz Pentium-based and 200-MHz or faster Pentium Pro-based sys- 
tems — nearly 1,000 times faster than the original IBM PC (in actual processing speed, not 



a. 



The IBM-Compatible Marketplace 15 Years Later 13 

just clock speed). The original PC had only two single-sided floppy drives that stored 
160K each using DOS 1.0, whereas modern systems easily can have several gigabytes of 
hard disk storage. A rule of thumb in the computer industry is that available processor 
performance and disk-storage capacity at least double every two to three years. Since the 
beginning of the PC industry, this pattern has shown no sign of changing. 

In addition to performance and storage capacity, another major change since the origi- 
nal IBM PC was introduced is that IBM is not the only manufacturer of "PC-compatible" 
systems. IBM originated the PC-compatible standard, of course, and it continues to set 3 

standards that compatible systems follow, but the company does not dominate the mar- 
ket as it did originally. As often as not, new standards in the PC industry are developed 
by companies and organizations other than IBM. Hundreds of system manufacturers 
produce computers that are compatible, not to mention the thousands of peripheral 
manufacturers whose components expand and enhance PC-compatible systems. 

PC-compatible systems have thrived, not only because compatible hardware can be as- 
sembled easily, but also because the primary operating system was available not from 
IBM but from a third party (Microsoft). The core of the system software is the BIOS (Basic 
Input Output System), and this was also available from third party companies like Phoe- 
nix, AMI, and others. This situation allowed other manufacturers to license the operating 
system and BIOS software and to sell their own compatible systems. The fact that DOS 
borrowed the best functions from both CP/M and UNIX probably had a lot to do with 
the amount of software that became available. Later, with the success of Windows and 
OS/2, there would be even more reasons for software developers to write programs for 
PC-compatible systems. 

One of the reasons why Apple Macintosh systems will likely never enjoy the success of 
PC-compatibles is that Apple controls all the software (BIOS and OS) and until recently 
had not licensed any of it to other companies for use in compatible systems. Apple now 
seems to recognize this flawed stance because it has begun to license this software; how- 
ever, it seems too late for it to effectively compete with the PC-compatible juggernaut. It 
is fortunate for the computing public as a whole that IBM did create a more open stan- 
dard. The competition among manufacturers and vendors of PC-compatible systems is 
the reason why such systems offer so much performance and so many capabilities for the 
money compared with non-PC-compatible systems. 

The IBM-compatible market continues to thrive and prosper. New technology will be 
integrated into these systems, enabling them to grow with the times. Because of the high 
value that these types of systems can offer for the money and the large amount of soft- 
ware that is available to run on them, PC-compatible systems likely will dominate the 
personal computer marketplace for perhaps the next 10 to 15 years as well. 



14 Chapter 1 — Personal Computer Background 



Summary 



This chapter traced the development of personal computing from the transistor to the 
introduction of the IBM PC. Intel's continuing development of the integrated circuit led 
to a succession of microprocessors and reached a milestone with the 1973 introduction 
of the 8080 chip. In 1975, MITS introduced the Altair computer kit, which was based on 
the 8080 microprocessor. IBM jumped into the personal computer market in 1975 with 
the Model 5100. 

In 1976, Apple sold its first computers, followed in 1977 by the enormously successful 
Apple II. Because of its success, the Apple II played a major role in setting standards and 
expectations for all later microcomputers. 

Finally, in 1981, IBM introduced its personal computer to a microcomputer world domi- 
nated by the Apple II and the computers that evolved from the Altair, which used the 
CP/M operating system. The IBM PC, designed with the needs of the market in mind and 
with many of its components produced by outside vendors, immediately set the new 
standard for the microcomputer industry. This standard has evolved to meet the needs of 
today's users, with more powerful systems offering performance levels that were not 
even imagined in 1981. 



Chapter 2 

Overview of System A 
Features and Components 



This chapter discusses the differences in system architecture among PC-compatible sys- 
tems and also explains memory structure and use. In addition, the chapter discusses how 
to obtain the documentation necessary for maintaining and upgrading your computer. 



Types of Systems 



Many types of PC-compatible systems are on the market today. Most systems are similar, 
but a few important differences in system architecture have become more apparent as 
operating environments such as Windows and OS/2 have increased in popularity. Oper- 
ating systems such as OS/2 1.x and Windows 3.1 require at least a 286 CPU platform on 
which to run. OS/2 2.x, 3.x (Warp), and Windows 95 will run on a 386 system, and Win- 
dows NT 4.x requires at least a 486 CPU to run. Knowing and understanding the differ- 
ences among these hardware platforms will enable you to plan, install, and use modern 
operating systems and applications so as to use the hardware optimally. 

All PC-compatible systems can be broken down into two basic system types, or classes, of 
hardware: 

■ 8-bit (PC/XT-class) systems 

■ 16/32/64-bit (AT-class) systems 

The term PC stands for Personal Computer, of course; XT stands for an eXTended PC; 
and AT stands for an Advanced Technology PC. The terms PC, XT, and AT as used here 
refer to the original IBM systems of those names. The XT basically was a PC system that 
included a hard disk for storage in addition to the floppy drive (s) found in the basic PC 
system. These systems had an 8-bit 8088 processor and an 8-bit Industry Standard Archi- 
tecture (ISA) Bus for system expansion. The bus is the name given to expansion slots in 
which additional plug-in circuit boards can be installed. The 8-bit designation comes 
from the fact that the ISA Bus found in the PC/XT class systems can send or receive only 



O 

3 



16 Chapter 2 — Overview of System Features and Components 

eight bits of data in a single cycle. The data in an eight-bit bus is sent along eight wires 
simultaneously, in parallel. 

More advanced systems are said to be AT-class, which indicates that they follow certain 
standards and follow the basic design set forth in the original IBM AT system. AT is the 
designation IBM applied to systems that first included more advanced 16-bit (and later, 
32- and 64-bit) processors and expansion slots. AT-class systems must have any processor 
that is compatible with Intel 286 or higher processors (including the 386, 486, Pentium, 
and Pentium Pro processors) and must have a 16-bit or greater expansion slot system. 
The bus architecture is central to AT compatibility; PC/XT-class systems with upgraded 
processor boards that do not include a 16-bit or greater expansion bus do not qualify as 
true AT-class systems. 

The first AT-class systems had a 16-bit version of the ISA Bus, which is an extension of 
the original 8-bit ISA Bus found in the PC/XT-class systems. Eventually, several expan- 
sion slot or bus designs were developed for AT-class systems, including those in the fol- 
lowing list: 

■ 16-bit ISA Bus 

■ 16/32-bit Extended ISA (EISA) Bus 

■ 16/32-bit PS/2 Micro Channel Architecture (MCA) Bus 

■ 16-bit PC-Card (PCMCIA) Bus 

■ 32/64-bit VESA Local (VL) Bus 

■ 32/64-bit Peripheral Component Interconnect (PCI) Bus 

A system with any of these types of expansion slots is by definition an AT-class system, 
regardless of the actual Intel or Intel-compatible processor used. AT-type systems with 
386 or higher processors have special capabilities not found in the first generation of 
286-based ATs. The 386 and higher systems have distinct capabilities regarding memory 
addressing, memory management, and possible 32- or 64-bit wide access to data. Most 
systems with 386DX or higher chips also have 32-bit bus architectures to take full advan- 
tage of the 32-bit data transfer capabilities of the processor. 

Although 64-bit versions of VL-Bus and PCI have been proposed, it is unlikely a 64-bit 
VL-Bus will ever actually appear in production because the marketplace has almost en- 
tirely shifted in favor of PCI. The proposed 64-bit version of PCI will definitely appear 
sometime in the future. 

The ISA and MCA architectures were developed by IBM and copied by other manufactur- 
ers for use in compatible systems. Other expansion bus designs were derived indepen- 
dently by other companies. For years, the ISA Bus dominated the IBM-compatible 
marketplace. When the 32-bit 386DX processor debuted, however, a need arose for a 32- 
bit expansion slot design to match. IBM took the high road and developed the Micro 
Channel Architecture (MCA) Bus, which takes full advantage of the 32-bit data-transfer 
capabilities. 



o 

3 



Types of Systems 1 7 

Unfortunately, IBM has had a difficult time marketing the MCA Bus, due to problems 

with the high cost of manufacturing MCA motherboards and adapter cards, as well as the 

perceived notion that MCA is proprietary. Although it is not, IBM has not succeeded in 

marketing MCA as the new bus of choice, and it has remained largely a feature found 

only in IBM manufactured systems. The rest of the marketplace has for the most part 

ignored MCA, although a few companies have produced MCA-compatible systems and 

many companies produce MCA expansion adapters. — 

Compaq, on the other hand, was the primary architect of the Extended Industry Stan- 3 

dard Architecture (EISA) Bus. Recognizing the difficulty that IBM had in marketing its 

new MCA Bus, Compaq decided that the best approach would be to give the bus design 

away rather than keep it as a Compaq-only feature. The company feared a repeat of what 

IBM was going through in trying to get the MCA Bus accepted throughout the industry. 

After all, how many companies would market expansion cards for a new bus that was 

unique to Compaq systems? 

Compaq decided that other companies should share in its new design, so it contacted 
several other system manufacturers to see whether they were interested in participating. 
These contacts led to the EISA consortium, which in September 1988 introduced the 
Compaq-designed expansion bus: Extended Industry Standard Architecture (EISA). The 
system is a 32-bit slot for use with 386DX or higher systems. 

Speculators said that EISA was developed to circumvent the royalties that IBM charges 
competitors who use the ISA or MCA slot design in their systems. This speculation was 
false, however, because EISA is an extension of the IBM-developed ISA Bus, and manufac- 
turers of EISA systems must pay IBM the same licensing fees that manufacturers of ISA 
and MCA systems do. EISA was developed not to circumvent licensing fees, but to show 
technological leadership and to give Compaq and other companies some design freedom 
and control of their systems. Whether EISA, as an alternative to the IBM-designed MCA, 
becomes a useful standard depends on the popularity of systems that use the slot. 

Unfortunately, EISA never achieved great popularity and sold in far fewer numbers than 
did MCA systems. There are fewer EISA expansion adapters than MCA adapters as well. 
This failure in the marketplace occurred for several reasons. One reason is the high cost 
of integrating the EISA Bus into a system. The special EISA Bus controller chips add sev- 
eral hundred dollars to the cost of a motherboard. In fact, having EISA slots on board can 
double the cost of the motherboard. 

Another reason for the relative failure of EISA was the fact that the performance it of- 
fered actually was greater than that of most peripherals to which it could be connected. 
This incompatibility in performance also was true for MCA. The available hard disks and 
other peripherals could not transfer data as fast as the 16-bit ISA Bus could handle, so 
why use EISA, a still faster bus? Memory had already found its way off the standard bus 
and normally was installed on the motherboard directly, via SIMMs (Single Inline 
Memory Modules). 

EISA complicated system installation and configuration whenever standard ISA boards 
were mixed with EISA boards. The standard ISA boards could not be controlled by the 



18 Chapter 2 — Overview of System Features and Components 

EISA configuration program that was required to set up the jumper and switchless EISA 
cards. In the years following its introduction, EISA found a niche in high-end server 
systems because of the bus's increased bandwidth. For standard workstations, however, 
the EISA Bus has been superseded by VL-Bus and PCI. Even for servers, PCI is now the 
bus of choice over EISA. 

The newest trend in expansion slots is the local bus. This type of bus is connected closely 
or directly to the processor. A problem with ISA and EISA is that the bus speed was 
locked in at a maximum of 8.33 MHz, which was far slower than the processors in most 
systems today. MCA offered greater performance, but it still was limited compared with 
the advancements in processors. What was needed were expansion slots that could talk 
directly to the processor, at processor speed, using all the bits that the processor could 
handle. 

The first of the local buses to achieve popularity was the VESA Local Bus, so named be- 
cause it was designed by the Video Electronics Standards Association primarily for video 
adapters. The VL-Bus was designed as an extension to the 486 processor and was essen- 
tially an extension of the 486 CPU's own bus. Although the VL-Bus can be used with 
other processors, this requires a special bridge chip to convert the control signals to 
those required by the VL-Bus. 

VESA was first organized by NEC Corporation, which sought to develop standards for 
new types of video adapters as well as much faster video adapter functionality. Because 
NEC Corporation saw strength in numbers, it decided to give away the technology cre- 
ated by them in order to make it an industry standard. The Video Electronics Standards 
Association was formed and split from NEC to control the new VL-Bus and other VESA 
standards. The inexpensive design and high performance of the VL-Bus made it a popu- 
lar addition to the ISA Bus and even to some EISA systems. VL-Bus was defined as an 
extension connector to the ISA or EISA Bus and could be found only in systems that had 
those buses. 

The Peripheral Component Interconnect (PCI) Bus was created by Intel to be a new- 
generation bus, offering local bus performance while also offering true processor inde- 
pendence and multiple processor capabilities. Like so many of the other bus creators, 
Intel formed an independent organization to make the PCI Bus an industry standard in 
which all manufacturers could participate. The PCI Committee was formed to administer 
this new bus and to control its destiny. Due to the superior design and performance of 
PCI, it has rapidly become the bus of choice in the highest-performance systems. PCI 
has taken over as the dominant high-performance bus architecture. 

Chapter 5, "Bus Slots and I/O Cards," contains a great deal of in-depth information on 
these and other PC system buses, including technical information such as pinouts, per- 
formance specifications, and bus operation and theory. 

Table 2.1 summarizes the primary differences between a standard PC (or XT) system and 
an AT system. This information distinguishes between these systems and includes all 
IBM and compatible models. 



Types of Systems 



19 



Table 2.1 Differences Between PC/XT and AT Systems 



System Attributes 



(8-bit) PC/XT Type 



(16/32/64-bit) AT Type 



Supported processors 


All x86 • 


orx88 


286 or higher 


Processor modes 


Real 




Real or Protected 
(Virtual Real on 386+) 


Expansion slot width 


8-bit 




1 6/32/64-bit 


Slot type 


ISA 




ISA, EISA, MCA, PC-Card, 
VL-Bus, PCI 


Hardware interrupts 


8 




16 or more 


DMA channels 


4 




8 or more 


Maximum RAM 


1M 




1 6M or 4C 


Floppy controller data 
rates 


250 kHz data rate 


250/300/500/1,000 kHz 
data rate 


Standard boot drive 


360K or 


720K 


1.2M/1.44M/2.88M 


Keyboard interface 


Unidirectional 


Bidirectional 


CMOS memory/clock 


No 




Yes 


Serial-port UART type 


8250B 




1 6450/1 6550A 



3 

a. 



© 

3 



This table highlights the primary differences between PC/XT and AT architecture. Using 
this information, you can properly categorize virtually any system as a PC/XT type or an 
AT type. There really have been no PC/XT type (8-bit) systems manufactured for many 
years. Unless you are in a computer museum, virtually every system you would encoun- 
ter today is based on the AT type design. 

You usually can identify the older PC and XT types of systems by their Intel-design 8088 
or 8086 processors; other choices were also available, however. Some systems used the 
NEC V-20 or V-30 processors, and these processors are functionally identical to the Intel 
chips. A few PC and XT systems have a 286 or 386 processor for increased performance. 
These systems have only 8-bit ISA slots of the same system-bus design featured in the 
original IBM PC. The design of these slots includes only half the total DMA and hard- 
ware interrupts of the 1 6-bit AT design, which severely limits the use of expansion slots 
by adapter boards that require the use of these resources. 

This type of system can run most software that runs under MS-DOS but is limited in 
more advanced operating systems, such as newer versions of Windows and any version 
of OS/2. This type of system cannot run OS/2 or any software designed to run under 
OS/2; neither can it run Windows 3.1, Windows 95, or Windows NT. These systems also 
cannot have more than 1M of processor-addressable memory, of which only 640K is 
available for user programs and data. 

You can identify AT systems as any PC compatible with 16-bit or greater (32/64-bit) ex- 
pansion slots. These systems usually have 8/16-bit ISA slots compatible with the original 
IBM AT. Other standards— such as EISA, MCA, PC-Card, VL-Bus, and PCI— also would be 
found only in AT-class systems. Most of these systems today would use 486, Pentium, or 
the new P6 processors. 



20 Chapter 2 — Overview of System Features and Components 

PC systems usually have double-density (DD) floppy controllers, but AT systems must 
have a controller capable of high-density (HD) and double-density operation. Almost all 
current systems also have a controller capable of extra-high-density (ED) operation. 
These systems can run the 2.88M floppy drives. Because of the different controller types, 
the boot drive on a PC system must be the DD, 5 1/4-inch 360K or 3 1/2-inch 720K 
drive. The AT needs the 5 1/4-inch 1.2M or the 3 1/2-inch 1.44M or 2.88M drive for full 
compatibility with all software. 

You can use a double-density disk drive as the boot drive in an AT system; the problem is 
that your boot drive is supposed to be a high-density drive. Many applications that run 
only on AT- type systems are packaged on high-density disks. Newer operating systems — 
such as Windows 95, Windows NT, and OS/2 — are packaged on high-density disks and 
cannot be loaded from double-density disks. The capability to boot and run any of these 
operating systems is a basic AT-compatibility test. 

A subtle difference between PC/XT and AT systems is in the keyboard interface. AT sys- 
tems use a bidirectional keyboard interface, with an Intel 8042 processor running the 
show. This processor has built-in ROM and can be considered to be part of the total sys- 
tem ROM package. The PC/XT systems use an 8255 Programmable Peripheral Interface 
(PPI) chip, which supports only a unidirectional interface. A keyboard can be configured 
to work with only one of the interface designs. With many keyboards, you can alter the 
way that the keyboard interfaces by flipping a switch on the bottom of the keyboard. 
Others, such as IBM's Enhanced 101-key Keyboard, detect which type of system they are 
plugged into and switch automatically. The older XT and AT keyboards work only with 
the types of system for which they were designed. 

The AT architecture uses CMOS memory and a real-time clock; PC-type systems usually 
don't. (An exception is the PS/2 Model 30, which has a real-time clock even though it is 
an XT-class system.) A real-time clock is the built-in clock implemented by a special CMOS 
memory chip on the motherboard in an AT system. You can have a clock added on some 
expansion adapters in a PC system, but DOS does not recognize the clock unless a special 
program is run first. The CMOS memory in the AT system also stores the system's basic 
configuration. In a PC or XT type of system, all these basic configuration options (such 
as the amount of installed memory, the number and type of floppy drives and hard 
disks, and the type of video adapter) are set by using switches and jumpers on the 
motherboard and various adapters. 

The serial-port control chip, Universal Asynchronous Receiver/Transmitter (UART), is a 
National Semiconductor 8250B for PC-type systems; AT systems use the newer NS 16450 
or 16550A chips (or compatibles thereof). Because these chips differ in subtle ways, the 
BIOS software must be designed for a specific chip. In the AT BIOS, which was designed 
for the 16450 and 16550A chips, using the older 8250B chip can result in strange prob- 
lems, such as lost characters at high transmission speeds. 

Some differences (such as the expansion slots, the hardware interrupts, and the DMA- 
channel availability) are absolute. Other differences, such as which processors are sup- 
ported, are less absolute. AT systems, however, must use a 286 or higher processor; 



o 

3 



Documentation 21 

PC systems can use the entire Intel family of chips, from the 8086 on up. Other param- 
eters are less absolute. Your own system may not follow the true standard properly. If 
your system does not follow all criteria listed for it — especially if it is an AT-type sys- 
tem — you can expect compatibility and operational problems. 

Documentation 5- 

One of the biggest problems in troubleshooting, servicing, or upgrading a system is 3 

having proper documentation. There are several types of documentation available for 
a given system, from the basic manuals you normally get with the system, to extra cost 
technical reference or service manuals. Also, because most systems today are made up of 
components from many different companies, I often recommend obtaining documenta- 
tion specific to these components from the component manufacturers. 

Generally, the type of documentation provided for a system is proportionate to the size 
of the manufacturing company. (Large companies can afford to produce good documen- 
tation.) Some of this documentation, unfortunately, is essential for even the most basic 
troubleshooting and upgrading tasks. Other documentation is necessary only for soft- 
ware and hardware developers, who have special requirements. 

Basic Documentation 

When you purchase a system, it should include a minimum set of documentation. There 
should be a manual covering the motherboard and all other adapters and devices in- 
cluded with the system. For example, if a video card and display are included, manuals 
for those items should also be present. 

The standard manuals included with most systems and peripherals contain basic in- 
structions for system setup, operation, testing, relocation, and option installation. A 
customer-level basic diagnostics disk (sometimes called a Diagnostics and Setup or Refer- 
ence Disk) normally is included with a system. Most systems today come with all the 
software pre-loaded on the hard disk and no floppy disks. In this case, it is important to 
create images of the install disks should you ever have to recreate the original software 
installation at a later date. These systems usually include a provision for creating these 
floppy disk images; if not, then simply perform a complete backup of the hard drive. 

These manuals should include listings of all the jumper and switch settings for the 
motherboard and any of the included expansion cards. For EISA systems, the basic 
diagnostics disk also has the SETUP routine (used to set the date and time), installed 
memory, installed disk drives, and installed video adapters. This information is saved by 
the SETUP program into CMOS battery backed-up memory. For PS/2 systems, the in- 
cluded disk (called the Reference Disk) contains the special Programmable Option-Select 
(POS) configuration routine and a hidden version of advanced diagnostics. 

Technical-Reference Manuals 

Technical-Reference manuals provide system-specific hardware and software interface 
information for the system. The manuals are intended for people who design hardware 
and software products to operate with these systems, as well as for people who must 



22 Chapter 2 — Overview of System Features and Components 

integrate other hardware and software into a system. On many compatibles, the techni- 
cal reference manuals and information are included with the purchase of the system and 
are a part of the standard documentation that comes with the system. 

These publications provide basic interface and design information for the system units. 
The manuals include information about the system board, math coprocessor, power 
supply, video subsystem, keyboard, instruction sets, and other features of the system. 
You need this information for integrating and installing aftermarket floppy and hard 
disk drives, memory boards, keyboards, network adapters, and virtually anything else 
that you want to plug into your system. 

This type of manual often contains schematic diagrams showing the circuit layout of the 
motherboard and pinouts for the various connectors and jumpers. It also includes list- 
ings of the floppy and hard disk drive tables, which show the range of drives that can be 
installed on a particular system. Power specifications for the power supply are also in this 
manual. You need these figures in order to determine whether the system has adequate 
current to power a particular add-on device. 

Hardware-Maintenance Manuals 

Some larger companies, such as IBM, also provide service manuals for their systems. 
Each Hardware Maintenance Library consists of two manuals: a Hardware-Maintenance 
Service manual and a Hardware-Maintenance Reference manual. These are real service 
manuals that are written for service technicians. Although the intended audience is 
professional service technicians, the manuals are very easy to follow and useful even for 
amateur technicians and enthusiasts. IBM and local computer retail outlets use these 
manuals for diagnosis and service. 

The basic Hardware-Maintenance Reference manual IBM has for the PC or PS/2 contains 
general information about the systems. The manual describes diagnostic procedures and 
Field-Replaceable Unit (FRU) locations, system adjustments, and component removal 
and installation. This information is useful primarily to users who have no experience in 
disassembling and reassembling a system and to users who have difficulty identifying 
components within the system. Most people do not need this manual after the first time 
they disassemble a system for service. 

Component Documentation 

If you really want the ultimate in documentation for your system, I highly recommend 
getting the documentation for all the components in your system. This would include 
specific manuals for each of the major components in the system — such as the 
motherboard, disk drives, and power supply — to individual chips such as the CPU, 
the ROM BIOS, the motherboard chipset, I/O chipset, and so on. 

For example, I often get questions about the Advanced CMOS settings. The people call- 
ing seem to assume that these settings would be described in their ROM BIOS documen- 
tation, because the ROM based CMOS SETUP program in their system controls these 
settings. As they quickly find out, the ROM BIOS manufacturer knows little or nothing 
about these settings. In fact, they have nothing to do with the particular ROM BIOS 



Summary 23 

used, and everything to do with the particular motherboard chipset used. You can find 
descriptions of all these settings in the documentation for your motherboard chipset, 
which can be obtained from the chipset manufacturer. 

Obtaining Documentation 

You cannot troubleshoot or upgrade a system accurately without some type of documen- 
tation specific to that system. If your system is from a name-brand manufacturer — such _ 
as IBM, Compaq, Hewlett-Packard, and others — then your best bet is to get the technical if 
reference or service manuals direct from that manufacturer. Because of the specific na- O 
ture of the information in these types of manuals, you most likely will have to obtain it C 
from the manufacturer of the system. An IBM technical-reference manual, for example, 2". 
is useless to a person who has a Compaq; that person must get the specific manual for 
that machine from Compaq. 

To get this type of hardware-service documentation, contact the system manufacturer. 
For example, you can easily get IBM manuals direct from IBM. To order the IBM manu- 
als, call this toll-free number: 

800-IBM-PCTB (800-426-7282) 

TB is the abbreviation for Technical Books. The service is active Monday through Friday 
from 8 a.m. to 8 p.m. Eastern time. When you call, you can request copies of the Techni- 
cal Directory, a catalog that lists all part numbers and the prices of available documenta- 
tion. You also can inquire about the availability of technical-reference or service 
documentation for newly announced products; this documentation may not be listed in 
the current directory. Information on how to contact most PC manufacturers can be 
found in the vendor listing in Appendix B. 

The process of obtaining other manufacturers' manuals may (or may not) be so easy. 
Most large companies run responsible service and support operations that provide tech- 
nical documentation. Other companies either do not have or are not willing to part with 
such documentation, in an effort to protect their service departments (and their dealers' 
service departments) from competition. Contact the manufacturer directly; the manufac- 
turer can direct you to the correct department so that you can inquire about this infor- 
mation. 



Summary 



Apart from the overall similarity between IBM computers and IBM-compatibles, impor- 
tant differences in system architecture exist. IBM and compatible computers can be bro- 
ken down into PC/XT and AT categories. This chapter explained the differences among 
these types of computers. The chapter ended with a discussion about how to obtain the 
service manuals that you need for maintaining and upgrading your computer. 



Chapter 3 

System Tea rd own and 
Inspection ^ 




3 

Q. 

e 
ft 
o' 

3 



This chapter examines procedures for tearing down and inspecting a system. The chapter 
describes the types of tools required, the procedure for disassembling the system, and the 
various components that make up the system. A special section discusses some of the test 
equipment you can use when troubleshooting a system; another section covers some 
problems you may encounter with the hardware (screws, nuts, bolts, and so on). 



Using the Proper Tools 



To troubleshoot and repair PC systems properly, you need a few basic tools. If you intend 
to troubleshoot and repair PCs professionally, there are many more specialized tools you 
will want to purchase. These advanced tools allow you to more accurately diagnose prob- 
lems and make the jobs easier and faster. The basic tools that should be in every 
troubleshooter's toolbox are: 

■ Simple hand tools for basic disassembly and reassembly procedures 

■ Diagnostics software and hardware for testing components in a system 

■ Wrap plugs for diagnosing serial- and parallel-port problems 

■ A Digital Multi-Meter (DMM) that allows accurate measurement of voltage and 
resistance 

■ Chemicals, such as contact cleaners, component freeze sprays, and compressed air 
for cleaning the system 

A more advanced troubleshooter's toolbox will likely include the following specialized 
tools: 

■ Specialized hand tools, such as PGA (Pin Grid Array), PLCC (Plastic Leaded Chip 
Carrier), and PQFP (Plastic Quad Flat Pack) chip removal tools 



26 Chapter 3 — System Teardown and Inspection 

■ Logic probes and pulsers, which allow analysis and testing of digital circuits 

■ Oscilloscopes, which allow accurate display of digital and analog signals for analyz- 
ing timing and purity 

■ Memory testing machines, which are used to evaluate the operation of SIMMs 
(Single In-line Memory Modules), DIP (Dual In-line Pin) chips, and other memory 
modules 

■ Power supply test equipment, such as variable voltage transformers and load 
testers, which allow verification of power supply performance 

In addition, you may need soldering and desoldering tools for problems that require 
these operations. These tools are discussed in more detail in the following section. Diag- 
nostics software and hardware are discussed in Chapter 21, "Software and Hardware 
Diagnostic Tools." 

Hand Tools 

When you work with PC systems, it immediately becomes apparent that the tools re- 
quired for nearly all service operations are simple and inexpensive. You can carry most of 
the required tools in a small pouch. Even a top-of-the-line "master mechanic's" set fits 
inside a briefcase-size container. The cost of these tool kits ranges from about $20 for a 
small service kit to $500 for one of the briefcase-size deluxe kits. Compare these costs 
with what might be necessary for an automotive technician. Most automotive service 
techs spend $5,000 to $10,000 or more for the tools they need. Not only are PC tools 
much less expensive, but I can tell you from experience that you don't get nearly as dirty 
working on computers as you do working on cars. 

In this section, you learn about the tools required to make up a kit that is capable of 
performing basic, board-level service on PC systems. One of the best ways to start such a 
set of tools is a small kit sold especially for servicing PCs. 

The following list shows the basic tools that you can find in one of the small PC tool kits 
that sell for about $20: 

3/16-inch nut driver 

1/4-inch nut driver 

Small Phillips screwdriver 

Small flat-blade screwdriver 

Medium Phillips screwdriver 

Medium flat-blade screwdriver 

Chip extractor 

Chip inserter 

Tweezers 



Using the Proper Tools 27 

Claw-type parts grabber 
T10 and T15 Torx drivers 

You use nut drivers to remove the hexagonal-headed screws that secure the system-unit 

covers, adapter boards, disk drives, power supplies, and speakers in most systems. The 

nut drivers work much better than conventional screwdrivers. 

3 
Because some manufacturers have substituted slotted or Phillips-head screws for the ? 

more standard hexagonal-head screws, standard screwdrivers can be used for those sys- q. 

terns. £ 



You use the chip-extraction and insertion tools to install or remove memory chips (or 
other, smaller chips) without bending any pins on the chip. Usually, you pry out larger 
chips, such as microprocessors or ROMs, with the small screwdriver. Larger processors 
such as the 486, Pentium or Pentium Pro chips require a chip extractor if they are in a 
standard socket. These chips have so many pins on them that a large amount of force is 
required to remove them. The chip extractor tools for removing these chips distributes 
the force evenly along the chip's underside to minimize the likelihood of breakage. 

The tweezers and parts grabber can be used to hold any small screws or jumper blocks 
that are difficult to hold in your hand. The parts grabber is especially useful when you 
drop a small part into the interior of a system; usually, you can remove the part without 
completely disassembling the system. 

Finally, the Torx driver is a special, star-shaped driver that matches the special screws 
found in most Compaq systems and in many other systems as well. 

Although this basic set is useful, you should supplement it with some other small hand 
tools, such as: 

Needlenose pliers 

Hemostats 

Wire cutter or wire stripper 

Metric nut drivers 

Tamper-proof Torx drivers 

Vise or clamp 

File 

Small Flashlight 

Pliers are useful for straightening pins on chips, applying or removing jumpers, crimping 
cables, or grabbing small parts. 

Hemostats are especially useful for grabbing small components, such as jumpers. 



O 

3 



28 Chapter 3 — System Teardown and Inspection 

The wire cutter or stripper, obviously, is useful for making or repairing cables or wiring. 

The metric nut drivers can be used in many clone or compatible systems as well as in the 
IBM PS/2 systems, all of which use metric hardware. 

The tamper-proof Torx drivers can be used to remove Torx screws with the tamper- 
resistant pin in the center of the screw. A tamper-proof Torx driver has a hole drilled in 
it to allow clearance for the pin. 

You can use a vise to install connectors on cables and to crimp cables to the shape you 
want, as well as to hold parts during delicate operations. 

Finally, you can use the file to smooth rough metal edges on cases and chassis, as well as 
to trim the faceplates on disk drives for a perfect fit. 

The flashlight can be used to illuminate system interiors, especially when the system is 
cramped and the room lighting is not good. I consider this tool to be essential. 

Another consideration for your tool kit is an ESD (electrostatic discharge) protection kit. 
This kit consists of a wrist strap with a ground wire and a specially conductive mat, also 
with its own ground wire. Using a kit like this when working on a system will help to 
ensure that you never accidentally zap any of the components with a static discharge. 

The ESD kits, as well as all the other tools and much more, are available from a variety of 
tool vendors. Specialized Products Company and Jensen Tools are two of the most popu- 
lar vendors of computer and electronic tools and of service equipment. Their catalogs 
show an extensive selection of very high-quality tools. (These companies and several 
others are listed in Appendix B, "Vendor List.") With a simple set of hand tools, you will 
be equipped for nearly every PC repair or installation situation. The total cost of these 
tools should be less than $150, which is not much considering the capabilities they give 
you. 



^ 



On the Web 



The following Web sites are great places to start looking for tools mentioned in this 
chapter. 

http://www.hardwareworld.com/Jensen/products.html 

http://www.lfw.com/WWW/CIM/bg/C004402.HTM 

Soldering and Desoldering Tools 

In certain situations — such as repairing a broken wire, reattaching a component to a 
circuit board, removing and installing chips that are not in a socket, or adding jumper 
wires or pins to a board — you must use a soldering iron to make the repair. 

Although virtually all repairs these days are done by simply replacing the entire failed 
board, you may need a soldering iron in some situations. The most common case would 
be where there was physical damage to a system, such as where somebody had ripped 
the keyboard connector off of a motherboard by pulling on the cable improperly. Simple 
soldering skills could save the motherboard in this case. 



Using the Proper Tools 



29 



Most motherboards these days include I/O components such as serial and parallel ports. 
Many of these ports are fuse protected on the board, however the fuse is usually a small 
soldered-in component. These fuses are designed to protect the motherboard circuits 
from damage from an external source. If a short circuit or static charge from an external 
device blows these fuses, the board can be saved if you can replace them. 

To perform minor repairs such as these, you need a low-wattage soldering iron — usually, 
about 25 watts. More than 30 watts generates too much heat and can damage the com- 
ponents on the board. Even with a low-wattage unit, you must limit the amount of heat 
to which you subject the board and its components. You can do this with quick and 
efficient use of the soldering iron, as well as with the use of heat-sinking devices clipped 
to the leads of the device being soldered. A heat sink is a small metal clip-on device de- 
signed to absorb excessive heat before it reaches the component that the heat sink is 
protecting. In some cases, you can use a pair of hemostats as an effective heat sink when 
you solder a component. 

To remove components that originally were soldered into place from a printed circuit 
board, you can use a soldering iron with a solder sucker. This device normally is con- 
structed as a small tube with an air chamber and a plunger-and-spring arrangement. (I do 
not recommend the squeeze-bulb type of solder sucker.) The unit is "cocked" when you 
press the spring-loaded plunger into the air chamber. When you want to remove a device 
from a board, you use the soldering iron from the underside of the board, and heat the 
point at which one of the component leads joins the circuit board until the solder melts. 
As soon as melting occurs, move the solder-sucker nozzle into position, and press the 
actuator. This procedure allows the plunger to retract and creates a momentary suction 
that inhales the liquid solder from the connection and leaves the component lead dry in 
the hole. 

Always do the heating and suctioning from the underside of a board, not from the com- 
ponent side. Repeat this action for every component lead joined to the circuit board. 
When you master this technique, you can remove a small component in a minute or two 
with only a small likelihood of damage to the board or other components. Larger chips 
that have many pins can be more difficult to remove and resolder without damaging 
other components or the circuit board. 



3 

a. 



© 

3 



These procedures are intended for Through-Hole devices only. These are components whose pins 
extend all the way through holes in the board to the underside. Surface mount devices are re- 
moved with a completely different procedure, and much more expensive tools. Working on sur- 
face mounted components is beyond the capabilities of all but the most well-equipped shops. 



For information about various Weller Soldering Irons and Tips visit 
V*i\ http://www.techni-tool.com/weller.html 

On the Web 



30 Chapter 3 — System Teardown and Inspection 

If you intend to add soldering and desoldering skills to your arsenal of abilities, you 
should practice. Take a useless circuit board and practice removing various components 
from the board; then reinstall the components. Try to remove the components from the 
board by using the least amount of heat possible. Also, perform the solder-melting opera- 
tions as quickly as possible, limiting the time that the iron is applied to the joint. Before 
you install any components, clean out the holes through which the leads must project 
and mount the component in place. Then apply the solder from the underside of the 
board, using as little heat and solder as possible. 

Attempt to produce joints as clean as the joints that the board manufacturer performed 
by machine. Soldered joints that do not look clean may keep the component from mak- 
ing a good connection with the rest of the circuit. This "cold-solder joint" normally is 
created because you have not used enough heat. Remember that you should not practice 
your new soldering skills on the motherboard of a system that you are attempting to repair! 
Don't attempt to work on real boards until you are sure of your skills. I always keep a few 
junk boards around for soldering practice and experimentation. 

No matter how good you get at soldering and desoldering, some jobs are best left to pro- 
fessionals. Components that are surface-mounted to a circuit board, for example, require 
special tools for soldering and desoldering, as do other components that have high pin 
densities. 

I upgraded an IBM P75 portable system I had by replacing the 486DX-33 processor with 
a 486DX2-66 processor. This procedure normally would be simple (especially if the sys- 
tem uses a Zero Insertion Force or ZIF socket), but in this particular system, the 168-pin 
486DX chip was soldered into a special processor card. To add to the difficulty, there 
were surface-mounted components on both sides of the card — even the solder side. 

Needless to say, this was a very difficult job that required a special piece of equipment 
called a hot air rework station. The hot air rework station uses blasts of hot air to solder or 
desolder all of the pins on a chip simultaneously. To perform this replacement job, the 
components on the solder side of the board were protected with special heat-resistant 
masking tape, while the hot air was directed at the 168 pins of the 486 chip, allowing it 
to be removed. Then the replacement chip was inserted into the holes in the board, a 
special solder paste was applied to the pins, and the hot air was used again to solder all 
168 pins simultaneously. 

The use of professional equipment such as this resulted in a perfect job that cannot be 
told from factory original. Attempting a job like this with a conventional soldering iron 
probably would have damaged the expensive processor chips, as well as the even more 
expensive multilayer processor card. 

Using Proper Test Equipment 

In some cases, you must use specialized devices to test a system board or component. 
This test equipment is not expensive or difficult to use, but it can add much to your 
troubleshooting abilities. I consider wrap plugs and a voltmeter to be required gear for 



Using Proper Test Equipment 



31 



proper system testing. The wrap plugs allow testing of serial and parallel ports and of 
their attached cables. A Digital Multi-Meter (DMM) can serve many purposes, including 
checking for voltage signals at different points in a system, testing the output of the 
power supply, and checking for continuity in a circuit or cable. An outlet tester is an 
invaluable accessory that can check the electrical outlet for proper wiring. This capability 
is useful if you believe that the problem lies outside the computer system itself. 

Logic probes and pulsers are not mandatory equipment, but they can add to your 
troubleshooting proficiency. You use the logic probe to check for the existence and sta- 
tus of digital signals at various points in a circuit. You use the logic pulser to inject sig- 
nals into a circuit to evaluate the circuit's operation. Using these devices effectively 
requires a good understanding of the way that the circuit operates. 

This Web site has more information on Fluke handheld test meters. These are for the 
more serious troubleshooter. 
on the web http://www.fluke.eom/handheld/ 

This Tandy site is loaded with information on most of the test equipment. They sell 
products for the hobbyist as well as the professional. 

http://www.tandy.com/support/2845.html 

Wrap Plugs (Loopback Connectors) 

For diagnosing serial- and parallel-port problems, you need wrap plugs (also called 
loopback connectors), which are used to circulate, or wrap, signals. The plugs enable the 
serial or parallel port to send data to itself for diagnostic purposes. 

Several types of wrap plugs are available. You need one for the 25-pin serial port, one for 
the 9-pin serial port, and one for the 25-pin parallel port (see table 3.1). Many compa- 
nies, including IBM, sell the plugs separately. IBM also sells a special version that in- 
cludes all three types in one plug. 




3 

a. 



© 

3 



Table 3.1 Wrap Plug Types 



Description 



IBM Part Number 



Parallel-port wrap plug 8529228 

Serial-port wrap plug, 25-pin 8529280 

Serial-port wrap plug, 9-pin (AT) 8286126 

Tri-connector wrap plug 72X8546 



The handy tri-connector unit contains all commonly needed plugs in one compact unit. 
The unit costs approximately $30 from IBM. Be aware that most professional diagnostics 
packages (especially the ones that I recommend) include the three types of wrap plugs in 
the package; you may not need to purchase them separately. If you're handy, you can 
even make your own wrap plugs for testing. I include wiring diagrams for the three types 
of wrap plugs in Chapter 11, "Communications and Networking." In that chapter, you 
also will find a detailed discussion of serial and parallel ports. 



32 Chapter 3 — System Teardown and Inspection 

Meters 

Many troubleshooting procedures require that you measure voltage and resistance. You 
take these measurements by using a hand-held Digital Multi-Meter (DMM). The meter 
can be an analog device (using an actual meter) or a digital-readout device. The DMM 
has a pair of wires called test leads or probes. The test leads make the connections so that 
you can take readings. Depending on the meter's setting, the probes measure electrical 
resistance, direct-current (DC) voltage, or alternating-current (AC) voltage. 

Usually, each system-unit measurement setting has several ranges of operation. DC volt- 
age, for example, usually can be read in several scales, to a maximum of 200 millivolts, 2 
volts, 20 volts, 200 volts, and 1,000 volts. Because computers use both +5 and +12 volts 
for various operations, you should use the 20-volt-maximum scale for making your mea- 
surements. Making these measurements on the 200-millivolt or 2-volt scale could "peg 
the meter" and possibly damage it because the voltage would be much higher than ex- 
pected. Using the 200-volt or 1,000-volt scale works, but the readings at 5 volts and 12 
volts are so small in proportion to the maximum that accuracy is low. 

If you are taking a measurement and are unsure of the actual voltage, start at the highest 
scale and work your way down. Most of the better meters have autoranging capability: 
the meter automatically selects the best range for any measurement. This type of meter is 
much easier to operate. You just set the meter to the type of reading you want, such as 
DC volts, and attach the probes to the signal source. The meter selects the correct voltage 
range and displays the value. Because of their design, these types of meters always have a 
digital display rather than a meter needle. 

I prefer the small digital meters; you can buy them for only slightly more than the ana- 
log style, and they're extremely accurate, as well as much safer for digital circuits. Some 
of these meters are not much bigger than a cassette tape; they fit in a shirt pocket. Radio 
Shack sells a good unit (made for Radio Shack by Beckman) in the $25 price range; the 
meter is a half-inch thick, weighs 3 1/2 ounces, and is digital and autoranging as well. 
This type of meter works well for most, if not all, PC troubleshooting and test uses. 



You should be aware that many analog meters can be dangerous to digital circuits. These meters 
use a 9-volt battery to power the meter for resistance measurements. If you use this type of meter 
to measure resistance on some digital circuits, you can damage the electronics, because you essen- 
tially are injecting 9 volts into the circuit. The digital meters universally run on 3 to 5 volts or less. 



Logic Probes and Logic Pulsers 

A logic probe can be useful for diagnosing problems in digital circuits. In a digital circuit, 
a signal is represented as either high (+5 volts) or low (0 volts). Because these signals are 
present for only a short time (measured in millionths of a second) or oscillate (switch on 
and off) rapidly, a simple voltmeter is useless. A logic probe is designed to display these 
signal conditions easily. 



Using Proper Test Equipment 33 

Logic probes are especially useful for troubleshooting a dead system. Using the probe, 
you can determine whether the basic clock circuitry is operating and whether other sig- 
nals necessary for system operation are present. In some cases, a probe can help you 
cross-check the signals at each pin on an IC chip. You can compare the signals present at 
each pin with the signals that a known-good chip of the same type would show — a com- 
parison that is helpful in isolating a failed component. Logic probes can be useful for 
troubleshooting some disk drive problems by enabling you to test the signals present on 
the interface cable or drive-logic board. 

A companion tool to the probe is the logic pulser. A pulser is designed to test circuit 
reaction by delivering into a circuit a logical high (+5 volt) pulse, usually lasting 1 1/2 to 
10 millionths of a second. Compare the reaction with that of a known-functional circuit. 
This type of device normally is used much less frequently than a logic probe, but in some 
cases, it can be helpful for testing a circuit. 

Outlet Testers 

Outlet testers are very useful test tools. These simple, inexpensive devices, which are sold at 
hardware stores, are used to test electrical outlets. You simply plug the device in, and three 
LEDs light in various combinations, indicating whether the outlet is wired correctly. 

Although you may think that badly wired outlets would be a rare problem, I have seen a 
large number of installations in which the outlets were wired incorrectly. Most of the 
time, the problem seems to be in the ground wire. An improperly wired outlet can result 
in flaky system operation, such as random parity checks and lockups. With an improper 
ground circuit, currents can begin flowing on the electrical ground circuits in the system. 
Because the system uses the voltage on the ground circuits as a comparative signal to 
determine whether bits are or 1, a floating ground can cause data errors in the system. 

Once, while running one of my PC troubleshooting seminars, I was using a system that I 
literally could not approach without locking it up. Whenever I walked past the system, 
the electrostatic field generated by my body interfered with the system, and the PC 
locked up, displaying a parity-check error message. The problem was that the hotel I was 
using was very old and had no grounded outlets in the room. The only way I could pre- 
vent the system from locking up was to run the class in my stocking feet, because my 
leather-soled shoes were generating the static charge. 

Other symptoms of bad ground wiring in electrical outlets are electrical shocks when you 
touch the case or chassis of the system. These shocks indicate that voltages are flowing 
where they should not be. This problem also can be caused by bad or improper grounds 
within the system itself. By using the simple outlet tester, you can quickly determine 
whether the outlet is at fault. 

SIMM Testers 

I now consider a SIMM (Single Inline Memory Module) test machine a virtually manda- 
tory piece of gear for anybody serious about performing PC troubleshooting and repair as 
a profession. These are basically small test machines designed to evaluate SIMM and 
other types of memory modules including individual chips such as cache memory as 
well. They can be somewhat expensive, costing upwards of $1,000 or more, but these 
types of machines are the only truly accurate way to test memory. 



3 

a. 



© 

3 



34 Chapter 3 — System Teardown and Inspection 

Without one of these testers, you are relegated to testing memory by running a diagnos- 
tic program on the PC and testing the memory as it is installed. This can be very prob- 
lematic, as the memory diagnostic program can only do two things to the memory, write 
and read. A SIMM tester can do many things that a memory diagnostic running in a PC 
cannot do such as: 

■ Identify the type of memory 

■ Identify the memory speed 

■ Identify whether the memory has parity, or is using bogus parity emulation 

■ Vary the refresh timing and access speed timing 

■ Locate single bit failures 

■ Detect power and noise related failures 

■ Detect solder opens and shorts 

■ Isolate timing related failures 

■ Detect data retention errors 

No conventional memory diagnostic software can do these things because it has to rely 
on the fixed access parameters set up by the memory controller hardware in the 
motherboard chipset. This prevents the software from being able to alter the timing and 
methods used to access the memory. You end up with memory that will fail in one sys- 
tem and work in another, when it is in fact actually bad. This can allow intermittent 
problems to occur, and be almost impossible to detect. 

The bottom line is that there is no way that truly accurate memory testing can be done 
in a PC, a SIMM tester is required for comprehensive and accurate testing of memory. 
With the price of a typical 16M memory module at over $500, the price of a SIMM tester 
can be justified very easily! One of the SIMM testers I recommend the most is the SIGMA 
LC by Darkhorse Systems. See the vendor list in Appendix B for more information. Also, 
see Chapter 7, "Memory," for more information on memory in general. 



The following Web sites provide information on various SIMM testers on the market: 

Ml 

http://www.marshall.com./pub/pub/dsi/test/pddsi04.htm 



On the Web 



http://www.simcheck.com/simlpl.mtm 
http://www.simmtester.com/ 

Chemicals 

Chemicals can be used to help clean, troubleshoot, and even repair a system. For the 
most basic function — cleaning components, electrical connectors, and contacts — one of 
the most useful chemicals was 1,1,1 trichloroethane. This substance was a very effective 
cleaner. This chemical was used to clean electrical contacts and components, and it will 
not damage most plastics and board materials. In fact, trichloroethane can be very useful 



o 

3 



Chemicals 35 

for cleaning stains on the system case and keyboard. Electronic chemical-supply compa- 
nies are now offering several replacements for trichloroethane because it is being regu- 
lated as a chlorinated solvent, along with CFCs (chlorofluorocarbons) such as Freon. 

A unique type of contact enhancer and lubricant called Stabilant 22 is on the market. 

This chemical, which is applied to electrical contacts, greatly enhances the connection 

and lubricates the contact point; it is much more effective than conventional contact 

cleaners or lubricants. Jj, 

3 

Stabilant 22 is a liquid-polymer semiconductor; it behaves like liquid metal and conducts a. 

electricity in the presence of an electric current. The substance also fills the air gaps be- 
tween the mating surfaces of two items that are in contact, making the surface area of 
the contact larger and also keeping out oxygen and other contaminants that can oxidize 
and corrode the contact point. 

This chemical is available in several forms. Stabilant 22 is the concentrated version, 
whereas Stabilant 22a is a version diluted with isopropanol in a 4:1 ratio. An even more 
diluted 8:l-ratio version is sold in many high-end stereo and audio shops under the 
name Tweek. Just 15 ml of Stabilant 22a sells for about $40, whereas a liter of the con- 
centrate costs about $4,000! 

As you can plainly see, Stabilant 22 is fairly expensive, but very little is required in an 
application, and nothing else has been found to be as effective in preserving electrical 
contacts. (NASA uses the chemical on spacecraft electronics.) An application of Stabilant 
can provide protection for up to 16 years, according to the manufacturer, D.W. 
Electrochemicals. You will find the company's address and phone number in the vendor 
list in Appendix B. 

Stabilant is especially effective on I/O slot connectors, adapter-card edge and pin connec- 
tors, disk drive connectors, power-supply connectors, and virtually any connectors in the 
PC. In addition to enhancing the contact and preventing corrosion, an application of 
Stabilant lubricates the contacts, making insertion and removal of the connector easier. 

Compressed air often is used as an aid in system cleaning. Normally composed of Freon 
or carbon dioxide (C02), compressed gas is used as a blower to remove dust and debris 
from a system or component. Be careful when you use these devices — some of them can 
generate a tremendous static charge as the compressed gas leaves the nozzle of the can. 
Be sure that you are using the kind approved for cleaning or dusting computer equip- 
ment, and consider wearing a static grounding strap as a precaution. Freon TF is known 
to generate these large static charges; Freon R12 is less severe. 

Of course, because both chemicals damage the ozone layer, most suppliers are phasing 
them out. Expect to see new versions of these compressed-air devices with carbon diox- 
ide or some other less-harmful propellant. 

When using these compressed air products, make sure you hold the can upright so that 
only gas is ejected from the nozzle. If you tip the can, the raw propellant will come out, 
which is wasteful. This operation should be performed on equipment that is powered 
off to minimize any chance of damage through short circuiting or bumping anything. 



36 Chapter 3 — System Teardown and Inspection 



Caution 



If you use any chemical that contains the propellant Freon R12 (dichlorodifluoromethane), do not 
expose the gas to an open flame or other heat source. If you burn this substance, a highly toxic gas 
called phosgene is generated. Phosgene, used as a choking gas in World War I, can be deadly. 

Freon R1 2 is the substance that was used in most automobile air-conditioning systems before 
1 995. Automobile service technicians are instructed never to smoke near air-conditioning systems. 
By 1996, the manufacture and use of these types of chemicals will have been either banned or 
closely regulated by the government, and replacements will have to be found. For example, virtu- 
ally all new car automobile air-conditioning systems have been switched to a chemical called R- 
1 34a. The unfortunate side effect of this situation is that all the replacement chemicals are much 
more expensive than Freon. 



Related to compressed-air products are chemical-freeze sprays. These sprays are used to 
cool a suspected failing component quickly so as to restore it to operation. These sub- 
stances are not used to repair a device, but to confirm that you have found the failed 
device. Often, a component's failure is heat-related; cooling it temporarily restores it to 
normal operation. If the circuit begins operating normally, the device that you are cool- 
ing is the suspect device. 

The following Web sites are great places to start looking for chemicals mentioned in this 



chapter 



On the Web 



http://www.hardwareworld.com/Jensen/products.html 
http://www.lfw.com/WWW/CIM/bg/C004402.HTM 

A Word About Hardware 

This section discusses some problems that you may encounter with the hardware 
(screws, nuts, bolts, and so on) used in assembling a system. 

Types of Hardware 

One of the biggest aggravations that you encounter in dealing with various systems is 
the different hardware types and designs that hold the units together. 

For example, most system hardware types use screws that can be driven with 1/4-inch or 
3/16-inch hexagonal drivers. IBM used these screws in all its original PC, XT, and AT 
systems, and most compatible systems use this standard hardware as well. Some manu- 
facturers use different hardware. Compaq, for example, uses Torx screws extensively in 
most of its systems. A Torx screw has a star-shape hole driven by the correct-size Torx 
driver. These drivers carry size designations of T-8, T-9, T-10, T-15, T-20, T-25, T-30, T-40, 
and so on. 

A variation on the Torx screw is the tamper-proof Torx screw, found in power supplies 
and other assemblies. These screws are identical to the regular Torx screws, except that a 
pin sticks up from the middle of the star-shape hole in the screw. This pin prevents the 



Disassembly Procedures 



a. 



Disassembly Procedures 37 

standard Torx driver from entering the hole to grip the screw; a special tamper-proof 
driver, with a corresponding hole for the pin, is required. An alternative is to use a small 
chisel to knock out the pin in the screw. Usually, a device that is sealed with these types 
of screws is considered to be a complete, replaceable unit that rarely, if ever, needs to be 
opened. 

Many manufacturers also use the more standard slotted-head and Phillips-head screws. 

Using tools on these screws is relatively easy, but tools do not grip these fasteners as well 

as hexagonal head or Torx screws do, and the heads can be rounded off more easily than 3 

other types can. Extremely cheap versions tend to lose bits of metal as they're turned 

with a driver, and the metal bits can fall onto the motherboard. Stay away from cheap 

fasteners whenever possible; the headaches of dealing with stripped screws aren't 

worth it. 

English versus Metric 

Another area of aggravation with hardware is the fact that two types of thread systems 
are available — English and metric. IBM used mostly English-threaded fasteners in its 
original line of systems, but many other manufacturers used metric-threaded fasteners in 
their systems. 

The difference becomes apparent especially with disk drives. American-manufactured 
drives sometimes use English fasteners; drives made in Japan or Taiwan usually use met- 
ric fasteners. Whenever you replace a floppy drive in an older PC compatible unit, you 
encounter this problem. Try to buy the correct screws and any other hardware, such as 
brackets, with the drive, because they may be difficult to find at a local hardware store. 
Many of the drive manufacturers offer retail drive kits that include these components. 
The OEM's drive manual lists the correct data about a specific drive's hole locations and 
thread size. 

Hard disks can use either English or metric fasteners; check your particular drive to see 
which type it uses. Most drives today seem to use metric hardware. 



Some screws in a system may be length-critical, especially screws that are used to retain hard disk 
drives. You can destroy some hard disks by using a mounting screw that's too long; such a screw 
can puncture or dent the sealed disk chamber when you install the drive and fully tighten the 
screw. When you install a new drive in a system, always make a trial fit of the hardware to see how 
far the screws can be inserted into the drive before they interfere with components of the drive. 
When you're in doubt, the drive manufacturer's OEM documentation will tell you precisely what 
screws are required and how long they should be. 



The process of physically disassembling and reassembling systems isn't difficult. Because 
of marketplace standardization, only a couple of different types and sizes of screws (with 



38 Chapter 3 — System Teardown and Inspection 

a few exceptions) are used to hold the systems together. Also, the physical arrangement 
of the major components is similar even among systems from different manufacturers. 
In addition, a typical system does not contain many components today. 

This section covers the disassembly and reassembly procedure in the following sections: 

■ Case or cover assembly 

■ Adapter boards 

■ Disk drives 

■ Power supply 

■ Motherboard 

This section discusses how to remove and install these components for several different 
types of system. With regard to assembly and disassembly, it is best to consider each 
system by the type of case that the system uses. All systems that have AT-type cases, for 
example, are assembled and disassembled in much the same manner. Tower cases basi- 
cally are AT-type cases turned sideways, so the same basic instructions apply to those 
cases as well. Most slim-line and XT style cases are similar; these systems are assembled 
and disassembled in much the same way. 

The following section lists disassembly and reassembly instructions for several case types, 
including those for all standard IBM-compatible systems. 

Disassembly Preparation 

Before you begin disassembling any system, you must be aware of several issues. One 
issue is ESD (electrostatic discharge) protection. The other is recording the configuration 
of the system, with regard to the physical aspects of the system (such as jumper or switch 
settings and cable orientations) and to the logical configuration of the system (especially 
in terms of elements such as CMOS settings). 

ESD Protection. When you are working on the internal components of a system, you 
need to take the necessary precautions to prevent accidental static discharges to the com- 
ponents. At any time, your body can hold a large static voltage charge that can easily 
damage components of your system. Before I ever put my hands into an open system, I 
first touch a grounded portion of the chassis, such as the power supply case. This action 
serves to equalize the charges that the device and I would be carrying. Some people 
would say that the charge is vented off to ground in this case, but that's not really true. 

I never recommend working on a system with the cord plugged in because of the electri- 
cal hazard, as well as the simple fact that it is too easy to power the system on at the 
wrong time or simply forget to turn it off. It also is too easy to drop tools and other 
things into systems while they are powered on, which would short out and possibly 
damage circuits. After I destroyed an adapter card by accidentally plugging it in while the 
system was running, I decided that the only good way to ensure that the system is really 
off is to unplug it! 



Disassembly Procedures 39 

I have been told by some people that if the system is not plugged in, the static charges 
cannot be vented off to ground. That is true, but the problem with static is not whether a 
device carries a charge relative to ground but whether that charge suddenly flows from 
one device to another through the delicate logic circuits. By touching the system chassis 
or any other part of the system's ground circuit, you equalize the charge between you 
and the system, thereby ensuring that no additional charge will pass from you to the IC 
chips. No matter what anybody says, you absolutely do not want the system to be 
plugged in! 

A more sophisticated way to equalize the charges between you and any of the system 
components is to use the ESD protection kit mentioned earlier in this chapter. These kits 
consist of a wrist strap and mat, with ground wires for attachment to the system chassis. 
When you are going to work on a system, you place the mat next to or partially below 
the system unit. Next, you clip ground wire to both the mat and the system's chassis, 
tying the grounds together. Then you put on the wrist strap and attach that wire to a 
ground as well. Because the mat and system chassis are already wired together, you can 
attach the wrist-strap wire to the system chassis or to the mat itself. If you are using a 
wrist strap without a mat, clip the wrist-strap wire to the system chassis. When clipping 
these wires to the chassis, be sure to use an area that is free of paint so that a good 
ground contact can be achieved. This setup ensures that any electrical charges are carried 
equally by you and any of the components in the system, preventing the sudden flow of 
static electricity that can damage the circuits. 

As you remove disk drives, adapter cards, and especially delicate items such as the entire 
motherboard, as well as SIMMs or processor chips, you should place these components 
on the static mat. I see some people putting the system unit on top of the mat, but the 
unit should be alongside the mat so that you have room to lay out all the components as 
you remove them. If you are going to remove the motherboard from a system, be sure 
that you leave enough room for it on the mat. 

If you do not have such a mat, simply place the removed circuits and devices on a clean 
desk or table. Always pick up a loose adapter card by the metal bracket used to secure the 
card to the system. This bracket is tied into the ground circuitry of the card, so by touch- 
ing the bracket first, you prevent a discharge from damaging the components of the 
card. If the circuit board has no metal bracket (a motherboard, for example), handle the 
board carefully, by the edges, and try not to touch any of the components. 



Some people have recommended placing loose circuit boards and chips on sheets of aluminum 
foil. This procedure is absolutely not recommended and can actually result in an explosion! Many 
motherboards, adapter cards, and other circuit boards today have built-in lithium or ni-cad batter- 
ies. These batteries react violently when they are shorted out, which is exactly what you would be 
doing by placing such a board on a piece of aluminum foil. The batteries will quickly overheat and 
possibly explode like a large firecracker (with dangerous shrapnel). Because you will not always be 
able to tell whether a board has a battery built into it somewhere, the safest practice is to never 
place any board on any conductive metal surface, such as foil. 



3 

a. 



© 

3 



40 Chapter 3 — System Teardown and Inspection 

Recording Setup and Configuration. Before you power the system off for the last time 
to remove the case, you should learn, and record, several things about the system. Often, 
when working on a system, you intentionally or accidentally wipe out the CMOS setup 
information. Most systems use a special battery-powered CMOS clock and data chip that 
is used to store the system's configuration information. If the battery is disconnected, or 
if certain pins are accidentally shorted, you can discharge the CMOS memory and lose 
the setup. The CMOS memory in most systems is used to store simple things such as how 
many and what type of floppy drives are connected, how much memory is in the system, 
and the date and time. 

A critical piece of information is the hard disk type settings. Although you or the system 
easily determine the other settings the next time you power on the system, the hard disk 
type information is another story. Most modern BIOS software can read the type infor- 
mation directly from most IDE and all SCSI drives. With older BIOS software, however, 
you have to explicitly tell the system the parameters of the attached hard disk. This 
means that you need to know the current settings for cylinders, heads, and sectors per 
track. 

Some BIOS software indicates the hard disk only by a type number, usually ranging from 
1 through 50. Be aware that most BIOS programs use type 47 or higher for what is called 
a user-definable type, which means that the cylinder, head, and sector counts for this 
type were entered manually and are not constant. These user-definable types are espe- 
cially important to write down, because this information may be very difficult to figure 
out later, when you need to start the system. 

Modern Enhanced IDE drives will also have additional configuration items that should 
be recorded. These include the translation mode and transfer mode. With drives larger 
than 528MB it is important to record the translation mode, which will be expressed dif- 
ferently in different BIOS versions. Look for settings like CHS (Cylinder Head Sector), 
ECHS (Extended CHS), Large (which equals ECHS), or LBA (Logical Block Addressing). If 
you reconfigure a system and do not set the same drive translation as was used originally 
with that drive, then all the data may be inaccessible. Most modern BIOS have an 
autodetect feature that automatically reads the drive's capabilities and sets the CMOS 
settings appropriately. Even so, there have been some problems with the BIOS not read- 
ing the drive settings properly, or where someone had overridden the settings in the 
previous installation. With translation, you have to match the setting to what the drive 
was formatted under previously if you want to read the data properly. 

The speed setting is a little more straightforward. Older IDE drives can run up a speed of 
8.3 MB per second, which is called PIO (Programmed I/O) mode 2. Newer EIDE drives 
can run PIO Mode 3 (11.1 MB/s) or PIO Mode 4 (16.6 MB/s). Most BIOS today allow you 
to set the mode specifically, or you can use the autodetect feature to automatically set 
the speed. For more information on the settings for hard disk drives, see Chapter 15, 
"Hand Disk Interfaces." 

If you do not enter the correct hard disk type information in the CMOS setup program, 
you will not be able to access the data on the hard disk. I know several people who lost 
some or all of their data because they did not enter the correct type information when 



a. 



Disassembly Procedures 41 

they reconfigured their systems. If this information is incorrect, the usual results are a 
Missing operating system error message when the systems starts and the inability to 
access the C drive. 

Some of you may be thinking that you can just figure out the parameters by looking up 
the particular hard disk in a table. (I have included a table of popular hard disk drive 
parameters in Appendix A, and this table has proved to be useful to me time and time 
again.) Unfortunately, this method works only if the person who set up the system origi- 
nally entered the correct parameters. I have encountered a large number of systems in 3 
which the hard disk parameters were not entered correctly; the only way to regain access 
to the data is to determine, and then use, the same incorrect parameters that were used 
originally. As you can see, no matter what, you should record the hard disk information 
from your setup program. 

Most systems have the setup program built right into the ROM BIOS software itself. 
These built-in setup programs are activated by a hot-key sequence such as Ctrl+Alt+Esc or 
Ctrl+Alt+S if you have a Phoenix ROM. Other ROMs prompt you for the setup program 
every time the system boots, such as with the popular AMI BIOS. With the AMI, you 
simply press the Delete key when the prompt appears on-screen during a reboot. 

When you get the setup program running, record all the settings. The easiest way to do 
this is to print it out. If a printer is connected, press Shift+Print Screen; a copy of the 
screen display will be sent to the printer. Some setup programs have several pages of 
information, so you should record the information on each page as well. 

Many setup programs, such as those in the AMI BIOS, allow for specialized control of the 
particular chipset used in the motherboard. These complicated settings can take up sev- 
eral screens of information, all of which should be recorded. Most systems will return all 
these settings to a default state when the battery is removed, and you lose any custom 
settings that were made. 

MCA and EISA bus systems have a very sophisticated setup program that stores not only 
the motherboard configuration, but also configurations for all the adapter cards. Fortu- 
nately, the setup programs for these systems have the capability to save the settings to a 
file on a floppy disk so that they can be restored later. 

To access the setup program for most of these systems, you need the setup or Reference 
Diskette for the particular system. Many newer systems such as some of the new PS/2s 
store a complete copy of the Reference Disk in a hidden partition of the hard disk. When 
these systems boot up, the cursor jumps to the right side of the screen for a few seconds. 
During this time, if you press Ctrl+Alt+Ins, the hidden setup programs execute. Other 
manufacturers will use different keystrokes to activate the setup program or hidden parti- 
tion, so consult your documentation to find the correct keystrokes for your particular 
system. 

Recording Physical Configuration. While you are disassembling a system, it is a good 
idea to record all the physical settings and configurations within the system, including 
jumper and switch settings, cable orientations and placement, ground- wire locations, 



42 Chapter 3 — System Teardown and Inspection 

and even adapter-board placement. Keep a notebook handy for recording these items, 
and write down all the settings in the book. 

It is especially important to record all the jumper and switch settings on every card that 
you remove from the system, as well as those on the motherboard. If you accidentally 
disturb these jumpers or switches, you will know how they were originally set. This 
knowledge is very important if you do not have all the documentation for the system 
handy. Even if you do, undocumented jumpers and switches often do not appear in the 
manuals but must be set a certain way for the item to function. It is very embarrassing, 
to say the least, if you take apart somebody's system and then cannot make it work again 
because you disturbed something. If you record these settings, you will save yourself the 
embarrassment. 

Also, record all cable orientations. Most name-brand systems use cables and connectors 
that are keyed so that they cannot be plugged in backward, but most generic compatibles 
do not have this added feature. In addition, it is possible to mix up hard disk and floppy 
cables. You should mark or record what each cable was plugged into and its proper orien- 
tation. Ribbon cables usually have an odd-colored wire at one end that indicates pin 1. 
The devices into which the cables are plugged also are marked in some way to indicate 
the orientation of pin 1; these markings, obviously, should match. 

Although cable orientation and placement seem to be very simple, we rarely get through 
the entire course of my PC troubleshooting seminars without several groups having 
cable-connection problems. Fortunately, in most cases (excepting power cables), plug- 
ging in any of the ribbon cables inside the system backward rarely causes any permanent 
damage. 

Power and battery connections are exceptions to this rule, however; plugging them in 
backward surely will cause damage. In fact, plugging the motherboard power connectors 
in backward or in the wrong plug location will put 12 volts where only 5 should be — a 
situation that can cause components of the board to explode violently. I know people 
who have facial scars caused by shrapnel from exploding components. I always like to 
turn my face away from the system when I power it on for the first time. 

Plugging the CMOS battery in backward can damage the CMOS chip itself, which usually 
is soldered into the motherboard; in such a case, the motherboard itself must be re- 
placed. 

Finally, it is a good idea to record miscellaneous items such as the placement of any 
ground wires, adapter cards, and anything else that you may have difficulty remember- 
ing later. Some configurations and setups are particular about which slots the adapter 
cards are located in; it usually is a good idea to put everything back exactly the way it 
was originally, especially in MCA and EISA bus systems. 

Now that you have made the necessary preparations and taken the necessary precau- 
tions, you can actually begin working on the systems. 

XT and Slim-Line Case Systems 

The procedure for disassembling the XT style or Slim Line case systems offered by most 
manufacturers is very simple. Only two tools are normally required — a 1/4-inch nut 



Disassembly Procedures 



43 



driver for the external screws that hold the cover in place, and a 3/16-inch nut driver for 
all other screws. I almost always prefer to use a nut driver, although most of these screws 
have a Phillips-type head embedded within the hexagonal head of the screw. Compared 
with a Phillips screwdriver, the nut driver can get a much better grip on the screw, and 
you are much less likely to strip it out. 

Removing the Cover. To remove the case cover, follow these steps: 

1 . Turn off the system, and unplug the power cord from the system unit. 

2. Turn the system unit around so that the rear of the unit is facing you, and locate 
the screws that hold the system-unit cover in place (see fig. 3.1). 

3. Use the 1/4-inch nut driver to remove the cover screws. 

4. Slide the cover toward the front of the system unit until it stops; then lift up the 
front of the cover and remove it from the chassis. 




3 

a. 



© 

3 




Used with permission 
from IBM Corporation. 



Figure 3.1 

The screws that hold the XT-type case cover in place. 



44 



Chapter 3 — System Teardown and Inspection 



To remove all adapter boards from the system unit, first remove the system-unit cover, as 
described earlier. Proceed as follows for each adapter: 

1 . Notice which slots all the adapters are in; if possible, make a diagram or drawing. 

2. Use the 3/16-inch nut driver to remove the screw that holds the adapter in place 
(see fig. 3.2). 

3. Notice the position of any cables plugged into the adapter before removing them. 
In a correctly wired system, the colored stripe on one side of the ribbon cable al- 
ways denotes pin number 1. The power connector normally is shaped so that it can 
be inserted only the correct way. 

4. Remove the adapter by lifting with even force at both ends. 

5. Notice the positions of any jumpers or switches on the adapter, especially when 
documentation for the adapter isn't available. Even when documentation is avail- 
able, manufacturers often use undocumented jumpers and switches for special 
purposes, such as testing or unique configurations. 




Used with permission 
from IBM Corporation. 



Figure 3.2 

Removing the screw that holds the adapter in place. 

Jumpers and switches on the circuit board normally are named. SW1 and SW2 are 
used for switch 1 and switch 2, for example, and Jl and J2 are used for jumper 1 and 
jumper 2. If these jumpers or switches are disturbed later, you can return to the original 



Disassembly Procedures 



45 



configuration — as long as you recorded the configuration the first time that you removed 
the adapter. The best procedure usually is to make a diagram that shows these features 
for a particular card. 

Removing Disk Drives. Removing drives from XT- or Slim Line-case systems is fairly 
easy. The procedure is similar for both floppy and hard disk drives. 

Before you remove a hard disk from a system, you should back it up. Older drives should 
have the heads parked as well, but almost all newer drives park the heads automatically 
when the power is off. The possibility always exists that data will be lost or the drive 
damaged from rough handling. Hard disks are discussed in more detail in chapters 14 
through 16. 

First, remove the cover and all adapters, as previously described. Then proceed as follows: 

1. Some systems have drive retaining screws on the bottom of the chassis. Lift up the 
front of the chassis so that the unit stands with the rear of the chassis down and 
the disk drive facing straight up. Locate any drive retaining screws in the bottom of 
the chassis, and remove them. 

In IBM equipment, you find these screws in XT systems that have hard disks or 
half-height floppy drives (see fig. 3.3). These screws may be shorter than others 
used in the system. You must reinstall a screw of the same length in this location 
later; using a screw that's too long can damage the drive. 



3 

a. 



© 

3 



7 Mounting plate 

l 




Remove this screw 



Hard disk drive C: 



Used with permission 
from IBM Corporation. 



Figure 3.3 

Removing the retaining screws from the bottom of the chassis. 

2. Set the chassis flat on the table, locate the drive retaining screws on the outboard 
sides of the drive, and remove them (see figs. 3.4 and 3.5). 

3. Slide the disk drive forward about two inches, and then disconnect the power and 
signal cables from the drive (see figs. 3.6 and 3.7). In a correctly wired system, the 
odd-colored stripe on one side of the ribbon cable always denotes pin number 1. 
The power connector is shaped so that it can be inserted only the correct way. 

4. Slide the drive completely out of the unit. 



46 



Chapter 3 — System Teardown and Inspection 



Drive A: 




This connector is present 
only on double-sided drives 



Mounting screws 



Used with permission 
from IBM Corporation. 



Figure 3.4 

Removing the retaining screws from the outboard sides of a floppy disk drive. 




Hard disk drive mounting screws 



Used with permission 
from IBM Corporation. 

Figure 3.5 

Removing the retaining screws from the outboard sides of the hard disk drive. 



Disassembly Procedures 



47 



Power connector 




Figure 3.6 

The power connector on a floppy disk drive. 



Used with permission 
from IBM Corporation. 



3 

a. 



© 

3 



Hard Disk Drive 




Data connector (J2) 



Power connector 



Control connector (J1) 



Used with permission 
from IBM Corporation. 



Figure 3.7 

Disconnecting the power and signal cables from the hard disk drive. 



48 



Chapter 3 — System Teardown and Inspection 



Removing the Power Supply. In XT- or Slim Line-case systems, the power supply is 
mounted in the system unit with four screws in the rear and (usually) two interlocking 
tabs on the bottom. Removing the power supply may require you to remove the disk 
drives before taking out the power supply. You probably will have to at least loosen the 
drives to slide them forward for clearance when you remove the supply. 

To remove the power supply, first remove the cover, all adapter boards, and the disk 
drives, as described earlier. (If sufficient clearance exists, you may not have to remove the 
adapter boards and disk drives.) Then proceed as follows: 

1 . Remove the four power-supply retaining screws from the rear of the system-unit 
chassis (see fig. 3.8). 

2. Disconnect the cables from the power supply to the motherboard (see fig. 3.9), and 
then disconnect the power cables from the power supply to the disk drives. Always 
grasp the connectors themselves; never pull on the wires. 

3. Slide the power supply forward about a half-inch to disengage the interlocking 
tabs on the bottom of the unit, and then lift the power supply out of the unit (see 
fig. 3.10). 



Power supply mounting screws 




(Rear View) 



Used with permission 
from IBM Corporation. 



Figure 3.8 

Removing the power-supply retaining screws from the rear of the chassis. 



Disassembly Procedures 



49 



System/expansion board power connectors 



System board 



Power supply 





3 

a. 



© 

3 



System unit 
(Top View) 



Figure 3.9 

Disconnecting the cables from the power supply to the motherboard. 

Removing the Motherboard. After all the adapter cards are removed from the unit, 
you can remove the system board, or motherboard. The motherboard in XT- and Slim 
Line-case systems is held in place by only a few screws and, often, several plastic stand- 
offs that elevate the board from the metal chassis so that it does not touch the chassis 
and cause a short. 

The standoffs slide into slots in the chassis. These standoffs should remain with the 
motherboard. You do not have to extract these standoffs from the motherboard to remove 
it; just remove the motherboard with the standoffs still attached. When you reinstall the 
motherboard, make sure that the standoffs slide properly into their slots. If one or more 
standoffs do not properly engage the chassis, you may crack the motherboard when you 
tighten the screws or install adapter cards. 



50 



Chapter 3 — System Teardown and Inspection 




here 



1/2 inch' 



Used with permission 
from IBM Corporation. 



Figure 3.10 

Sliding the power supply forward to disengage the interlocking tabs on the unit's bottom. 

To remove the motherboard, first remove all adapter boards from the system unit, as 
described earlier. Then proceed as follows: 

1 . Disconnect all electrical connectors from the motherboard, including those for the 
keyboard, power supply, and speaker. 

2. Locate and remove the motherboard retaining screws. 

3. Slide the motherboard away from the power supply about a half-inch, until the 
standoffs disengage from their mounting slots (see fig. 3.11). 

4. Lift the motherboard up and out of the chassis. 



AT- and Tower-Case Systems 

Disassembling an AT- or Tower-case system normally requires only two tools — a 1/4-inch 
nut driver for the external screws that hold the cover in place, and a 3/16-inch nut driver 
for all the other screws. 

Most of the procedures are exactly like those for XT- and Slim Line-case systems. One 
difference, however, is that many AT-case systems use a different method for mounting 
the disk drives. Special rails or brackets are attached to the sides of the drives, and the 
drives slide into the system-unit chassis on these rails or brackets. The chassis has guide 
tracks for the rails, which enables you to remove the drive from the front of the unit 



Disassembly Procedures 



51 



without having to access the side to remove any mounting screws. The rails normally are 
made of plastic or fiberglass, but they can be made of metal in some systems. A diagram 
that shows how most of these rails are constructed appears in Chapter 13, "Floppy Disk 
Drives." It should be noted that any brackets or rails should remain attached to the drive 
while you are removing or installing it. 





3 

a. 



© 

3 



Used with permission 
from IBM Corporation. 



Figure 3.11 

Sliding the motherboard away from the power supply until standoffs disengage from mounting 
slots. 



52 



Chapter 3 — System Teardown and Inspection 



Removing the Cover. To remove the case cover, follow these steps: 

1 . Turn off the system, and unplug the power cord from the system unit. 

2. Turn the system unit around so that you're facing the rear of the unit, and locate 
the screws that hold the system-unit cover in place (see fig. 3.12). 

Mounting screws 




Mounting screws 



Used with permission 
from IBM Corportation. 



Figure 3.12 

Removing the screws that hold the AT-case cover in place. 

3. Use the 1/4-inch nut driver to remove the cover screws. 

4. Slide the cover toward the front of the system unit until it stops; then lift up the 
front of the cover and remove it from the chassis. 

Removing Adapter Boards. To remove all the adapter boards from the system unit, 
first remove the system-unit cover, as described earlier. Then proceed as follows for each 
adapter: 

1 . Notice which slot each adapter is in; if possible, make a diagram or drawing. 

2. Use the 3/16-inch nut driver to remove the screw that holds the adapter in place 
(refer to fig. 3.2). 



Disassembly Procedures 53 

3. Notice the positions of any cables that are plugged into the adapter before you 
remove them. In a correctly wired system, the colored stripe on one side of the 
ribbon cable always denotes pin number 1. Some connectors have keys that enable 
them to be inserted only the correct way. 

4. Remove the adapter by lifting with even force at both ends. 

5. Notice the positions of any jumpers or switches on the adapter, especially when — 
documentation for the adapter is not available. Even when documentation is avail- % 
able, manufacturers often use undocumented jumpers and switches for special §_ 



purposes, such as testing or unique configurations. It's a good idea to know the 
existing settings, in case they are disturbed later. 

Removing Disk Drives. Removing drives from AT-case systems is very easy. The proce- 
dure is similar for both floppy and hard disk drives. 

Always back up hard disks completely and park the heads before removing disks from 
the system. Most newer drives (IDE and SCSI) park the heads automatically when they 
are powered off. A backup is important, because the possibility always exists that data 
will be lost or the drive damaged by rough handling. 

To remove the drives from an AT-case system, first remove the cover, as described earlier. 
Then proceed as follows: 

1 . Depending on whether the drive is a hard disk or floppy disk drive, the drive is 
retained by a metal keeper bar with two screws or by two small, L-shape metal tabs, 
each of which held in place by a single screw. Locate these screws and remove 
them, along with the tabs or keeper bar (see figs. 3.13 and 3.14). 

2. Slide the disk drive forward about two inches, and disconnect from the drives the 
power cables, the signal and data cables, and the ground wire (see figs. 3.15 and 
3.16). In a correctly wired system, the colored stripe on one side of the ribbon cable 
always denotes pin number 1. The power connector is shaped so that it can be 
inserted only the correct way. 

3. Slide the drive completely out of the unit. 

Removing the Power Supply. In AT-case systems, the power supply is mounted in the 
system unit with four screws in the rear and (usually) two interlocking tabs on the bot- 
tom. Removing the power supply usually requires that you slide the disk drives forward 
for clearance when you remove the supply. 

To remove the power supply, first remove the cover, loosen the disk-drive mounting 
screws, and move the disk drive forward about two inches, as described earlier. Then 
proceed as follows: 



O 

3 



54 



Chapter 3 — System Teardown and Inspection 




Mounting tabs 



Used with permission 
from IBM Corporation. 



Figure 3.13 

Removing mounting tabs and the keeper bar of a hard drive. 




25-50 mm 
(1-2 inches) 



Used with permission 
from IBM Corporation. 



Figure 3.14 

Removing the mounting tabs of a floppy drive. 



Disassembly Procedures 



55 




Hard disk drive 



Data cable 

Power cable 



Signal cable 



Ground wire 



Used with permission 
from IBM Corporation. 



Figure 3.15 

Disconnecting the hard drive power cable, signal and data cables, and ground wire. 



3 

a. 



© 

3 



Floppy disk drive 



Ground wire 




Used with permission 
from IBM Corporation. 



Figure 3.16 

Disconnecting the floppy drive power cable, signal cable, and ground wire. 



Power cable 



56 



Chapter 3 — System Teardown and Inspection 



1 . Remove the four power-supply retaining screws from the rear of the system-unit 
chassis (see fig. 3.17). 




Power supply mounting screws 

Used with permission 
from IBM Corporation. 

Figure 3.17 

Removing the power-supply retaining screws from the rear of the chassis. 

2. Disconnect the cables from the power supply to the motherboard (see fig. 3.18), 
and then disconnect the power cables from the power supply to the disk drive. 
Always grasp the connectors themselves; never pull on the wires. 




Power Supply Connectors 



Used with permission 
from IBM Corporation. 



Figure 3.18 

Disconnecting the cables from the power supply to the motherboard. 



Caution 



Be careful not to damage the connector. If you damage the motherboard SIMM connector, you 
could be looking at an expensive repair. Never force the SIMM; it should come out easily. If it 
doesn't, you are doing something wrong. 



O 

3 



Disassembly Procedures 57 

3. Slide the power supply forward about a half-inch to disengage the interlocking tabs 
on the bottom of the unit; then lift the power supply out of the unit. 

Removing the Motherboard. After all adapter cards are removed from the unit, you 
can remove the motherboard. The motherboard in AT-case systems is held in place by 
several screws, as well as by plastic standoffs that elevate the board from the metal chas- 
sis so that it does not touch the chassis and cause a short. — 

You should not separate the standoffs from the motherboard; remove the board and the 3 

standoffs as a unit. The standoffs slide into slots in the chassis. When you reinstall the 
motherboard, make sure that the standoffs are located in their slots properly. If one or 
more standoffs does not engage the chassis properly, you may crack the motherboard 
when you tighten the screws or install adapter cards. 

To remove the motherboard, first remove all adapter boards from the system unit, as 
described earlier. Then proceed as follows: 

1 . Disconnect from the motherboard all electrical connectors, including those for the 
keyboard, power supply, speaker, battery, and keylock. 

2. Locate and remove the motherboard retaining screws. 

3. Slide the motherboard away from the power supply about a half-inch, until the 
standoffs have disengaged from their mounting slots (see fig. 3.19). 

4. Lift the motherboard up and out of the chassis. 

Removing SIMMs (Single In Line Memory Modules) or DIMMs (Dual Inline 
Memory Modules). One benefit of using single or dual in-line memory modules (SIMMs 
or DIMMs) is that they're easy to remove or install. When you remove memory modules, 
remember that because of physical interference, you must remove the memory-module 
package that is closest to the disk drive bus-adapter slot before you remove the package 
that is closest to the edge of the motherboard. This procedure describes removing a 
SIMM device, note that a DIMM is also removed in exactly the same way. The only dif- 
ference is that a DIMM is slightly longer and has more contacts than a SIMM device. 

To remove a SIMM (or DIMM) properly, follow this procedure: 

1 . Gently pull the tabs on each side of the SIMM socket outward. 

2. Rotate or pull the SIMM up and out of the socket (see fig. 3.20). 



58 



Chapter 3 — System Teardown and Inspection 




Standoffs 



(Side View) 

Figure 3.19 

Disengaging standoffs from their mounting slots. 



Mounting slots 




Figure 3.20 

Removing a SIMM. 



Summary 59 



Summary 



This chapter discussed the initial teardown and inspection of a system and also exam- 
ined the types of tools required, ranging from simple hand tools to meters for measuring 
voltage and resistance. The chapter mentioned some of the problems that you may en- 
counter with the actual hardware (screws, nuts, bolts, and so on) in a system. 

The chapter also discussed the physical-disassembly procedure and how to recognize the 

various components of a system. The chapter emphasized the steps taken before and 5 

during disassembly, such as ESD protection, and the recording of system setup informa- 0- 

tion to ensure that the system works properly when it is reassembled. fl 

0* 

Different disassembly procedures were discussed, based on the type of case used for the 3 

system. Most systems built with a particular-style case (AT and Tower cases, for example) 
are constructed in a similar fashion. After you work on a system that has a particular case 
design, you will find that most other systems that have the same type of case are almost 
identical. 





Part II 



20 



Primary System 
Components 




ra-^ 







4 Motherboards 

5 Bus Slots and I/O Cards 

6 Microprocessor Types and Specifications 

7 Memory 

8 The Power Supply 




: 




^m 







c 



















D 


^^^^h 












































-tek 











Chapter 4 

Motherboards 




Easily the most important component in a PC system is the main board or motherboard. 
Some companies, such as IBM, refer to the motherboard as a system board or planar. The 
terms motherboard, main board, system board, and planar are interchangeable. Not all 
systems have a motherboard in the true sense of the word. In some systems, the compo- 
nents normally found on a motherboard are located instead on an expansion adapter 
card plugged into a slot. In these systems, the board with the slots is called a backplane 
rather than a motherboard. Systems using this type of construction are called backplane 
systems. »< 



Backplane systems come in two main types, passive and active. A passive backplane 
means the main backplane board does not contain any circuitry at all except for the bus 



VI 

ft 

3 

r> 

connectors and maybe some buffer and driver circuits. All the circuitry found on a con- O 

ventional motherboard is contained on one or more expansion cards installed in slots on -H 

the backplane. Some backplane systems use a passive design that incorporates the entire 
system circuitry into a single mothercard. The mothercard is essentially a complete 
motherboard that is designed to plug into a slot in the passive backplane. The passive J" 

backplane/mothercard concept allows the entire system to be easily upgraded by chang- 
ing one or more cards. Because of the expense of the high function mothercard, this type 
of system design is rarely found in PC systems. The passive backplane design does enjoy 
popularity in industrial systems, which are often rack mounted. Some high-end file serv- 
ers also feature this design. 

An active backplane means the main backplane board contains bus control and usually 
other circuitry as well. Most active backplane systems contain all the circuitry found on 
a typical motherboard except for the processor complex. The processor complex is the 
name of the circuit board that contains the main system processor and any other cir- 
cuitry directly related to it, such as clock control, cache, and so forth. The processor com- 
plex design allows the user to easily upgrade the system later to a new processor type by 
changing one card. In effect it amounts to a modular motherboard with a replaceable 
processor section. Most modern PC systems that use a backplane design use an active 
backplane/processor complex. Both IBM and Compaq have used this type of design in 
some of their high-end (server class) systems, for example. This allows an easier and gen- 
erally more affordable upgrade than the passive backplane/mothercard design since the 
processor complex board is usually much cheaper than a mothercard. Unfortunately, 



64 Chapter 4 — Motherboards 

because there are no standards for the processor complex interface to the system, these 
boards are proprietary and can only be purchased from the system manufacturer. This 
limited market and availability causes the prices of these boards to be higher than most 
complete motherboards from other manufacturers. 

The motherboard system design and the backplane system design have both advantages 
and disadvantages. Most original personal computers were designed as backplanes in the 
late 1970s. Apple and IBM shifted the market to the now traditional motherboard with a 
slot-type design because this type of system generally is cheaper to mass-produce than 
one with the backplane design. The theoretical advantage of a backplane system, how- 
ever, is that you can upgrade it easily to a new processor and new level of performance 
by changing a single card. For example, you can upgrade a system with a 486-based pro- 
cessor card to a Pentium-based card just by changing the card. In a motherboard-design 
system, you must change the motherboard itself, a seemingly more formidable task. 
Unfortunately, the reality of the situation is that a backplane design is often much more 
expensive to upgrade, and because the bus remains fixed on the backplane, the back- 
plane design precludes more comprehensive upgrades that involve adding local bus slots 
for example. 

Because of the limited availability of the processor complex boards or mothercards, they 
usually end up being more expensive than a complete new motherboard that uses an 
industry standard form factor. For this reason, I recommend staying away from any 
backplane system designs. In most cases a conventional motherboard design makes it 
much easier to obtain replacement components for repair or upgrade. 

Another nail in the coffin of backplane designs is the upgradable processor. Intel has 
designed all 486, Pentium, and Pentium Pro processors to be upgradable to faster (some- 
times called OverDrive) processors in the future by simply swapping (or adding) the new 
processor chip. Changing only the processor chip for a faster one is the easiest and gener- 
ally most cost-effective way to upgrade without changing the entire motherboard. 

Replacement Motherboards 

Some manufacturers go out of their way to make their systems as physically incompat- 
ible as possible with any other system. Then replacement parts, repairs, and upgrades are 
virtually impossible to find — except, of course, from the original system manufacturer, 
at a significantly higher price than the equivalent part would cost to fit a standard PC- 
compatible system. For example, if the motherboard in my current AT-chassis system 
(or any system using a Baby-AT motherboard and case) dies, I can find any number of 
replacement boards that will bolt directly in, with my choice of processors and clock 
speeds, at very good prices. If the motherboard dies in a newer IBM, Compaq, Hewlett- 
Packard, Packard Bell or other proprietary shaped system, you'll pay for a replacement 
available only from the original manufacturer, and you have little or no opportunity to 
select a board with a faster or better processor than the one that failed. In other words, 
upgrading or repairing one of these systems via a motherboard replacement is difficult 
and usually not cost-effective. 



Knowing What to Look for (Selection Criteria) 65 

Some of the proprietary systems have become popular enough that at least one company 
has developed replacement motherboards for them. Reply Corp. (see the vendor list in 
Appendix B) produces high performance replacement boards for many of the IBM PS/2, 
Valuepoint, and Compaq models, for example. ALR also makes boards for upgrading 
Compaq and some other systems. 

Knowing What to Look for (Selection 
Criteria) 

As a consultant, I am often asked to make a recommendation for purchases. Making 
these types of recommendations is one of the most frequent tasks a consultant performs. 
Many consultants charge a large fee for this advice. Without guidance, many individuals 
don't have any rhyme or reason to their selections and instead base their choices solely 
on magazine reviews or, even worse, on some personal bias. To help eliminate this hap- 
hazard selection process, I have developed a simple checklist that will help you select a 
system. This list takes into consideration several important system aspects overlooked by 
most checklists. The goal is to ensure that the selected system truly is compatible and has 
a long life of service and upgrades ahead. 

It helps to think like an engineer when you make your selection. Consider every aspect s? 

and detail of the motherboards in question. For instance, you should consider any future j* 

uses and upgrades. Technical support at a professional (as opposed to a user) level is 3 

extremely important; what support will be provided? Is there documentation, and does it n 

cover everything else? 

■B 
In short, a checklist is a good idea. Here is one for you to use in evaluating any PC- § 

compatible system. You might not have to meet every one of these criteria to consider a 

particular system, but if you miss more than a few of these checks, consider staying away J* 

from that system. The items at the top of the list are the most important, and the items 

at the bottom are perhaps of lesser importance (although I think each item is important). 

The rest of this chapter discusses in detail the criteria in this checklist. 

Processor. A 486 motherboard should be equipped with a DX2 or DX4 type proces- 
sor — the faster the better. The 486 processor should be an SL Enhanced version, 
which is standard on the most desirable DX4 based models. A Pentium mother- 
board should only use the second generation 3.3v Pentium processor, which has a 
296-pin Socket 5 or Socket 7 configuration that differs physically from the 273-pin 
Socket 4 first generation design. All second generation Pentiums (75MHz and up) 
are fully SL Enhanced. 

Processor Sockets. A 486 motherboard should have a ZIF (Zero Insertion Force) pro- 
cessor socket that follows the Intel Socket 3 (237-pin) specifications. A Pentium 
motherboard should have one or two ZIF sockets that follow the Intel Socket 5 
(320-pin) or Socket 7 (321-pin) specification. The Socket 7 with an adjacent VRM 
(Voltage Regulator Module) socket will allow the best selection of future Pentium 
processors that will be available at higher speeds. Many of the newer and faster 



66 Chapter 4 — Motherboards 



Pentiums require Socket 7. Pentium Pro motherboards will all have Socket 8, which 
should be in a ZIF version to allow easy future upgrades. 

Motherboard Speed. A 486 motherboard should be speed selectable to run at 33 or 40 
MHz for maximum performance and compatibility. These motherboards may allow 
other speeds to be selected as well. A Pentium or Pentium Pro motherboard should 
run at 50, 60 or 66 MHz and be speed switchable between these speeds. Notice that 
most of the 486 and virtually all the Pentium and Pentium Pro processors sold 
today run at a multiple of the motherboard speed. For example, Pentium 75 runs at 
a motherboard speed of 50 MHz; Pentium 60, 90, 120, 150, and 180 MHz chips run 
at a 60MHz base motherboard speed; and the Pentium 66, 100, 133, 166, and 200 
run at a 66MHz motherboard speed setting. The Pentium Pro 150, 180, and 200 
run at 50, 60, and 66 MHz speeds, respectively. All components on the mother- 
board (especially cache memory) should be rated to run at the maximum allowable 
motherboard speed. 

Cache Memory. All 486 and Pentium motherboards should have a Level 2 cache on- 
board. Most Pentium Pro processors have a built in 256K or 512K Level 2 cache, but 
may also have more Level 2 cache on the motherboard for even better perfor- 
mance. 486 motherboards should have 25 6K and Pentium motherboards should 
have 256K to 512K for maximum performance. The Level 2 Cache should be of a 
Write-Back design, and must be populated with chips that are fast enough to sup- 
port the maximum motherboard speed, which should be 15ns or faster for 66 MHz 
maximum motherboard speeds. For Pentium boards, the cache should be a Syn- 
chronous SRAM (Static RAM) type, which is also called Pipelined Burst SRAM. 

SIMM Memory. 486 motherboards should ideally use 72-pin SIMMs that support a 
single bank per SIMM. 30-pin SIMMs are acceptable for upgrade boards designed to 
reuse memory from older motherboards. All Pentium and Pentium Pro mother- 
boards should use either 72-pin SIMMs or 168-pin DIMMs (Dual In-line Memory 
Modules). Due to the 64-bit design of these boards, the 72-pin SIMMs will be in- 
stalled in matched pairs, while DIMMs are installed one at a time (one per 64-bit 
bank). For maximum performance look for systems that support SDRAM (Synchro- 
nous DRAM), or EDO (Extended Data Out) type SIMMs. The SIMMs should be rated 
at 70ns or faster. Mission-critical systems should use Parity SIMMs and ensure that 
the motherboard fully supports parity checking or even ECC (Error Correcting 
Code) as well. Note that the popular Intel Triton Pentium chipset (82430FX) does 
not support parity checked memory at all, but their other Pentium chipsets such as 
the older Neptune (82430NX) and newer Triton II (82430HX) do indeed offer par- 
ity support. Triton II even offers ECC capability using standard parity SIMMs. For 
this reason, I highly recommend the 82430HX chipset and true Parity memory for 
mission critical Pentium systems. All the current Pentium Pro chipsets also support 
Parity memory, and are ideal for file servers and other mission critical use when 
equipped with parity SIMMs or DIMMs. 

Bus Type. 486 motherboards should have an ISA (Industry Standard Architecture) 
bus with either two or three VL-Bus, or ideally three or four PCI local bus slots. 



Knowing What to Look for (Selection Criteria) 67 

Pentium and Pentium Pro motherboards should have three or four ISA bus slots 
and three or four PCI local bus slots. 

BIOS. The motherboard should use an industry standard BIOS such as those from 
AMI, Phoenix, Microid Research or Award. The BIOS should be of a Flash ROM or 
EEPROM (Electrically Erasable Programmable Read Only Memory) design for easy 
updating. The BIOS should support the Plug and Play (PnP) specification, En- 
hanced IDE or Fast ATA, as well as 2.88M floppy drives. APM (Advanced Power 
Management) support should be built in to the BIOS as well. 

Form Factor. For maximum flexibility, the motherboard should come in a Baby-AT 
form factor. This allows it to be installed in the widest variety of case designs, and 
be retrofittable in most systems. For the greatest performance and future flexibility, 
many newer motherboards and systems will incorporate the new ATX form factor, 
which has distinct performance and functional advantages over Baby-AT. Note that 
the ATX design will become the form factor of choice over the next few years, re- 
placing the older Baby-AT form factor. 

Built-in Interfaces. Ideally a motherboard should contain as many built-in standard 
controllers and interfaces as possible (except video). A motherboard should have a 
built-in floppy controller that supports 2.88M drives, built-in primary and second- 
ary local bus (PCI or VL-Bus) Enhanced IDE (also called Fast ATA) connectors, two 
built-in high speed serial ports (must use 16550A type buffered UARTs), and a built- 
in high speed parallel port (must be EPP/ECP compliant). A built-in PS/2 type 3 
mouse port should be included, although one of the serial ports can be used for a ^ 



mouse as well. Some newer systems will include a built-in USB (Universal Serial 



VI 





3 



Bus) port, which is a bonus. A built-in SCSI port is a bonus as long as it conforms to ^ 

ASPI (Advanced SCSI Programming Interface) standards. Built-in network adapters a 

are acceptable, but usually an ISA slot card network adapter is more easily sup- § 

ported via standard drivers and is more easily upgraded as well. Built-in video 2" 

adapters are also a bonus in some situations, but because there are many different 
video chipset and adapter designs to choose from, generally there are better choices 
in external local bus video adapters. The same goes for built-in sound cards; they 
usually offer basic Sound Blaster compatibility and function, but often do not in- 
clude other desirable features found on most plug-in soundcards, such as wavetable 
support. 

Plug and Play (PnP). The motherboard should fully support the Intel Plug and Play 
specification. This will allow automatic configuration of PCI adapters as well as 
Plug and Play ISA adapters. 

Power Management. The motherboard should fully support SL Enhanced processors 
with APM (Advanced Power Management) and SMM (System Management Mode) 
protocols that allow for powering down various system components to different 
levels of readiness and power consumption. 

Motherboard Chipset. Pentium motherboards should use a high-performance chipset 
that allows parity checking, such as the Intel Triton II (82430HX), Opti Viper, ALI 



68 Chapter 4 — Motherboards 

Aladdin, or others with similar specifications. The popular original Intel Triton 
(82430FX) chipset does not support parity checked memory and should not be 
used in mission-critical applications. For critical applications using Pentium 
motherboards where accuracy and data integrity are important, I recommend you 
use a board based on the newer Triton II (82430HX) chipset or any others like it 
that support ECC (Error Correcting Code) memory using true parity memory mod- 
ules. 

Pentium Pro motherboards currently do not have many chipsets to choose from, 
but that is improving. Intel has the high-end Orion (82450KX) chipset, as well as 
the newer less expensive Natoma (82440FX) chipset. Both chipsets support parity 
memory and are suitable for critical application use. 

Documentation. Good technical documentation is a requirement. Documents 
should include information on any and all jumpers and switches found on the 
board, connector pinouts for all connectors, specifications for cache RAM chips, 
SIMMs, and other plug-in components, and any other applicable technical infor- 
mation. I would also acquire separate documentation from the BIOS manufacturer 
covering the specific BIOS used in the system, as well as the Data Books covering 
the specific chipset used in the motherboard. Additional data books for any other 
controller or I/O chips on-board are a bonus, and may be acquired from the respec- 
tive chip manufacturers. 

You may notice that these selection criteria seem fairly strict, and may disqualify many 
motherboards on the market, including what you already have in your system! These 
criteria will, however, guarantee you the highest quality motherboard offering the latest 
in PC technology that will be upgradable, expandable, and provide good service for 
many years. Most of the time I recommend purchasing boards from better-known 
motherboard manufacturers such as Intel, SuperMicro, Micronics, AMI, Acer, Alaris, Asus, 
and so on. These boards might cost a little more than others that you have never heard 
of, but there is some safety in the more well known brands. That is, the more boards that 
they sell, the more likely that any problems will have been discovered by others and 
solved long before you get yours. Also, if service or support are needed, the larger ven- 
dors are more likely to be around in the long run. 

Documentation 

As mentioned, extensive documentation is an important factor to consider when you're 
planning to purchase a motherboard. Most motherboard manufacturers design their 
boards around a particular chipset, which actually counts as the bulk of the motherboard 
circuitry. There are a number of manufacturers offering chipsets, such as Intel, Opti, ALI, 
VLSI, UMC, Micronics, Chips & Technologies, and others. I recommend obtaining the 
data book or other technical documentation on the chipset directly from the chipset 
manufacturer. 

One of the more common questions I hear about a system relates to the BIOS Setup pro- 
gram. People want to know what the "Advanced Chipset Setup" features mean and what 
will the effects of changing them be. Often they go to the BIOS manufacturer thinking 
that the BIOS documentation will offer help. Usually, however, people find that there is 



Knowing What to Look for (Selection Criteria) 69 

no real coverage of what the chipset setup features are in the BIOS documentation. You 
will find this information in the data book provided by the chipset manufacturer. Al- 
though these books are meant to be read by the engineers who design the boards, they 
contain all the detailed information about the chipset's features, especially those that 
might be adjustable. With the chipset data book, you will have an explanation of all the 
controls in the Advanced Chipset Setup section of the BIOS Setup program. 

Besides the main chipset data books, I also recommend collecting any data books on the 
other major chips in the system. This would include any floppy or IDE controller chips, 
"super I/O" chips, and of course the main processor. You will find an incredible amount 
of information on these components in the data books. A word of warning: Most chipset 
manufacturers only make a particular chip for a short time, rapidly superseding it with 
an improved or changed version. The data books are only available during the time the 
chip is being manufactured so if you wait too long you will find that such documents 
may no longer be available. The time to collect documentation on your motherboard is 
NOW! 

ROM BIOS Compatibility 

The issue of ROM BIOS compatibility is important. If the BIOS is not compatible, any 

number of problems can result. Several reputable companies that produce compatibles 

have developed their own proprietary ROM BIOS that works just like IBM's. These com- t/> 

panies also frequently update their ROM code to keep in step with the latest changes 



IBM has incorporated into its ROMs. Because IBM generally does not sell ROM upgrades 

or provide them for older systems (unless the upgrade is absolutely necessary, and IBM 

decides if that is the case), keeping current with an actual IBM system is more difficult O 

than with most of the compatible systems on the market. The newer PS/2 systems do use -jij 

a BIOS that is either stored on the hard disk or contained in a Flash ROM that is easily 2 

updated via a floppy disk. If you have one of these systems, BIOS upgrade disks can be 

obtained via the IBM National Support Center (NSC) BBS. The number is listed in Appen- J 

dix B. Also, many of the compatibles' OEMs have designed ROMs that work specifically 

with additional features in their systems while effectively masking the effects of these 

improvements from any software that would "balk" at the differences. 

OEMs. Many OEMs (original equipment manufacturers) have developed their own com- 
patible ROMs independently. Companies such as Compaq, Zenith, and AT&T have de- 
veloped their own BIOS products, which have proven compatible with IBM's. These 
companies also offer upgrades to newer versions that often can offer more features and 
improvements or fix problems with the older versions. If you use a system with a propri- 
etary ROM, make sure that it is from a larger company with a track record and one that 
will provide updates and fixes as necessary. 

Several companies have specialized in the development of a compatible ROM BIOS prod- 
uct. The three major companies that come to mind in discussing ROM BIOS software are 
American Megatrends, Inc. (AMI), Award Software, and Phoenix Software. Each company 
licenses its ROM BIOS to a motherboard manufacturer so that the manufacturer can 
worry about the hardware rather than the software. To obtain one of these ROMs for a 
motherboard, the OEM must answer many questions about the design of the system so 
that the proper BIOS can be either developed or selected from those already designed. 



70 



Chapter 4 — Motherboards 



Combining a ROM BIOS and a motherboard is not a haphazard task. No single, generic, 
compatible ROM exists, either. AMI, Award, Microid Research, and Phoenix ship to dif- 
ferent manufacturers many variations of their BIOS code, each one custom-tailored to 
that specific system, much like DOS can be. 

AMI. Although AMI customizes the ROM code for a particular system, it does not sell the 
ROM source code to the OEM. An OEM must obtain each new release as it becomes avail- 
able. Because many OEMs don't need or want every new version developed, they might 
skip several version changes before licensing a new one. The AMI BIOS is currently the 
most popular BIOS in PC systems today. Newer versions of the AMI BIOS are called Hi- 
Flex due to the high flexibility found in the BIOS configuration program. The AMI Hi- 
Flex BIOS is used in Intel, AMI, Alaris, and many other manufacturers' motherboards. 
One special AMI feature is that it is the only third-party BIOS manufacturer to make its 
own motherboard. 

Older versions of the AMI BIOS had a few problems with different keyboards and key- 
board controller chips, and very early versions also had some difficulty with certain IDE 
hard disk drives. To eliminate these types of problems, make sure that your AMI BIOS is 
dated 04/09/90 or later, and has keyboard controller F or later. You will possibly have 
keyboard lockups and problems running Windows or OS/2 if you have an older keyboard 
controller chip. 

To locate this information, power on the system and observe the BIOS ID string dis- 
played on the lower left of the screen. The primary BIOS Identification string (ID String 
1) is displayed by any AMI BIOS during the POST (Power On Self Test) at the left bottom 
corner of the screen, below the copyright message. Two additional BIOS ID strings (ID 
String 2 and 3) can be displayed by the AMI Hi-Flex BIOS by pressing the <Ins> key dur- 
ing POST. These additional ID strings display the options that are installed in the BIOS. 

The general BIOS ID String 1 format for older AMI BIOS versions is the following table: 



ABBB NNNN mmddyy KK 



Position 



Description 



BBB 



NNNN 

mmddyy 

KK 



BIOS Options: 

D = Diagnostics built-in. 

S = Setup built-in. 

E = Extended Setup built-in. 

Chipset or Motherboard Identifier: 

C&T = Chips & Technologies chipset. 

NET = C&T NEAT 286 chipset. 

286 = Standard 286 motherboard. 

SUN = Suntac chipset. 

PAQ = Compaq motherboard. 

INT = Intel motherboard. 

AMI = AMI motherboard. 

C23 = G2 chipset 386 motherboard. 

The manufacturer license code reference number. 

The BIOS release date, mm/dd/yy. 

The AMI keyboard BIOS version number. 



Knowing What to Look for (Selection Criteria) 



71 



The BIOS ID String 1 format for AMI Hi-Flex BIOS versions is the following: 



AB CCcc DDDDDD EFGHIJKL mmddyy MM MM MM MM N 



Position 



CCcc 
DDDDDD 



Description 



E 

F 
G 
H 

I 

I 

K 

L 

mmddyy 

MMMMMMMM 

N 



Processor Type: 

= 8086 or 8088. 

2 = 286. 

3 = 386. 

4 = 486. 

5 = Pentium. 

6 = Pentium Pro. 
Size of BIOS: 

= 64K BIOS. 

1 =128KBIOS. 

Major and Minor BIOS version number. 
Manufacturer license code reference number. 

0036xx = AMI 386 motherboard, xx = Series #. 
0046xx = AMI 486 motherboard, xx = Series #. 
0056xx = AMI Pentium motherboard, xx = Series #. 
0066xx = AMI Pentium Pro motherboard, xx = Series #. 
= Halt on Post Error. 
= Initialize CMOS every boot. 
= Block pins 22 and 23 of the keyboard controller. 
= Mouse support in BIOS/keyboard controller. 
= Wait for <F1 > key on POST errors. 
= Display floppy error during POST. 
= Display video error during POST. 
= Display keyboard error during POST. 
BIOS Date, mm/dd/yy. 
Chipset identifier or BIOS name. 
Keyboard controller version number. 




VI 

if 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



AMI Hi-Flex BIOS ID String 2: 



AAB C DDDD EE FF GGGG HH II JJj 



Position 



Description 



AA 
B 



Keyboard controller pin number for clock switching. 

Keyboard controller clock switching pin function: 
H = High signal switches clock to high speed. 
L = High signal switches clock to low speed. 



(continues) 



72 



Chapter 4 — Motherboards 



Continued 



Position 



Description 



DDDD 
EE 
FF 
CGCC 

HH 



Clock switching through chip set registers: 

= Disable. 

1 = Enable. 

Port address to switch clock high. 
Data value to switch clock high. 
Mask value to switch clock high. 
Port Address to switch clock low. 
Data value to switch clock low. 
Mask value to switch clock low. 
Pin number for Turbo Switch Input. 



AMI Hi-Flex BIOS ID String 3: 



AAB-C-DDD-EE-FF-GGGG-HH-II-JJ-K-L 



Position 



Description 



AA 
B 

C 
DDD 

EE 
FF 
CGCC 

HH 
II 

II 
K 

L 



Keyboard controller pin number for cache control. 

Keyboard controller cache control pin function: 
H = High signal enables the cache. 
L = High signal disables the cache. 

1 = High signal is used on the keyboard controller pin. 

Cache control through Chipset registers: 

= Cache control off. 

1 = Cache control on. 

Port address to enable cache. 

Data value to enable cache. 

Mask value to enable cache. 

Port address to disable cache. 

Data value to disable cache. 

Mask value to disable cache. 

Pin number for resetting the 82335 memory controller. 

BIOS Modification Flag: 

= The BIOS has not been modified. 

1 -9, A-Z = Number of times the BIOS has been modified. 



The AMI BIOS has many features, including a built-in setup program activated by press- 
ing the Delete or Esc key in the first few seconds of booting up your computer. The BIOS 
will prompt you briefly as to which key to press and when to press it. The AMI BIOS 
offers user-definable hard disk types, essential for optimal use of many IDE or ESDI 
drives. The newer BIOS versions also support Enhanced IDE drives and will auto- 
configure the drive parameters. A unique AMI BIOS feature is that, in addition to the 
setup, it has a built-in, menu-driven, diagnostics package, essentially a very limited 



Knowing What to Look for (Selection Criteria) 73 

version of the stand-alone AMIDIAG product. The internal diagnostics are not a replace- 
ment for more comprehensive disk based programs, but they can help in a pinch. The 
menu-driven diagnostics does not do extensive memory testing, for example, and the 
hard disk low-level formatter works only at the BIOS level rather than at the controller 
register level. These limitations often have prevented it from being capable of formatting 
severely damaged disks. 

An excellent feature of AMI is its technical support BBS. You will find the phone number 
listed in the vendor list in the Appendix. The AMI BIOS is sold through distributors, and 
any updates to the AMI BIOS or keyboard controller are available through Washburn and 
Co., also listed in the vendor list in Appendix B. 

Award. Award is unique among BIOS manufacturers because it sells its BIOS code to the 
OEM and allows the OEM to customize the BIOS. Of course, then the BIOS no longer is 
Award BIOS, but rather a highly customized version. AST uses this approach on its sys- 
tems, as do other manufacturers, for total control over the BIOS code, without having to 
write it from scratch. Although AMI and Phoenix customize the ROM code for a particu- 
lar system, they do not sell the ROM's source code to the OEM. Some OEMs that seem to 
have developed their own ROM code started with a base of source code licensed to them 
by Award or some other company. 

The Award BIOS has all the normal features you expect, including a built-in setup pro- »< 

gram activated by pressing Ctrl+Alt+Esc. This setup offers user-definable drive types, J? 

required in order to fully utilize IDE or ESDI hard disks. The Power On Self Test is good, 3 

and Award runs a technical support BBS. The phone number for the BBS is listed in the Q 

vendor list in Appendix B. 3 

•a 

In all, the Award BIOS is high quality, has minimal compatibility problems, and offers a 

high level of support. * 

Phoenix. The Phoenix BIOS for many years has been a standard of compatibility by 
which others are judged. It was one of the first third-party companies to legally reverse- 
engineer the IBM BIOS using a "clean room" approach. In this approach, a group of engi- 
neers studied the IBM BIOS and wrote a specification for how that BIOS should work and 
what features should be incorporated. This information then was passed to a second 
group of engineers who had never seen the IBM BIOS. They could then legally write a 
new BIOS to the specifications set forth by the first group. This work would then be 
unique and not a copy of IBM's BIOS; however, it would function the same way. This 
code has been refined over the years and has very few compatibility problems compared 
to some of the other BIOS vendors. 

The Phoenix BIOS excels in two areas that put it high on my list of recommendations. 
One is that the Power On Self Test is excellent. The BIOS outputs an extensive set of beep 
codes that can be used to diagnose severe motherboard problems that would prevent 
normal operation of the system. In fact, this POST can isolate memory failures in Bank 
right down to the individual chip with beep codes alone. The Phoenix BIOS also has an 
excellent setup program free from unnecessary frills, but that offers all the features one 
would expect, such as user-definable drive types, and so on. The built-in setup is 



74 Chapter 4 — Motherboards 

activated by typing either Ctrl+Alt+S or Ctrl+Alt+Esc, depending on the version of BIOS 
you have. 

The second area in which Phoenix excels is the documentation. Not only are the manu- 
als that you get with the system detailed, but also Phoenix has written a set of BIOS 
technical-reference manuals that are a standard in the industry. The set consists of three 
books, titled System BIOS for IBM PC/XT/AT Computers and Compatibles, CBIOS for IBM 
PS/2 Computers and Compatibles, and ABIOS for IBM PS/2 Computers and Compatibles. Phoe- 
nix is one of few vendors who have done extensive research on the PS/2 BIOS and pro- 
duce virtually all the ROMs in the PS/2 Micro Channel clones on the market. In addition 
to being an excellent reference for the Phoenix BIOS, these books serve as an outstanding 
overall reference to any company's IBM-compatible BIOS. Even if you never have a sys- 
tem with a Phoenix BIOS, I highly recommend these books, published by Addison- 
Wesley and available through most bookstores. 

Micronics motherboards have always used the Phoenix BIOS, and these motherboards 
are used in many of the popular "name brand" compatible systems. Phoenix has been 
one of the largest OEMs of Microsoft MS-DOS. Many of you who have MS-DOS have the 
Phoenix OEM version. Phoenix licenses its DOS to other computer manufacturers so 
long as they use the Phoenix BIOS. Because of its close relationship with Microsoft, it has 
had access to the DOS source code, which helps in eliminating compatibility problems. 

Although Phoenix does not operate a technical support BBS by itself, their largest nation- 
wide distributor does, which is Micro Firmware Inc. The BBS and voice phone numbers 
are listed in the vendor list in Appendix B. Micro Firmware offers upgrades to many sys- 
tems with a Phoenix BIOS, including many Packard Bell, Gateway 2000 (with Micronics 
motherboards), Micron Technologies, and other systems. 

Unless the ROM BIOS is a truly compatible, custom OEM version such as Compaq's, you 
might want to install in the system the ROM BIOS from one of the known quantities, 
such as AMI, Award, or Phoenix. These companies' products are established as ROM BIOS 
standards in the industry, and frequent updates and improvements ensure that a system 
containing these ROMs will have a long life of upgrades and service. 

Using Correct Speed-Rated Parts 

Some compatible vendors use substandard parts in their systems to save money. Because 
the CPU is one of the most expensive components on the motherboard, and many 
motherboards are sold to system assemblers without the CPU installed, it is tempting to 
the assembler to install a CPU rated for less than the actual operating speed. A system 
could be sold as a 100 MHz system, for example, but when you look "under the hood," 
you may find a CPU rated for only 90 MHz. The system does appear to work correctly, 
but for how long? If the company that manufactures the CPU chip installed in this sys- 
tem had tested the chip to run reliably at 100 MHz, it would have labeled the part ac- 
cordingly. After all, the company could sell the chip for more money if it worked at the 
higher clock speed. When a chip is run at a speed higher than it is rated for, it will run 
hotter than it would normally. This may cause the chip to overheat occasionally, which 
would appear as random lockups, glitches, and frustration. I highly recommend that you 
avoid systems whose operation speed exceeds the design of the respective parts. 



Motherboard Form Factors 75 

This practice is easy to fall into since the faster rated chips cost more money, and Intel 
and other chip manufacturers usually rate their chips very conservatively. I have taken 
several 25 MHz 486 processors and run them at 33 MHz, and they seemed to work fine. 
The Pentium 90 chips I have tested seem to run fine at 100 MHz. Although I might pur- 
chase a Pentium 90 system and make a decision to run it at 100 MHz, if I were to experi- 
ence lockups or glitches in operation, I would immediately return it to 90 MHz and 
retest. If I purchase a 100 MHz system from a vendor, I fully expect it to have 100 MHz 
parts, not 90 MHz parts running past their rated speed! These days many chips will have 
some form of heat sink on them, which helps to prevent overheating, but which can also 
sometimes cover up for a "pushed" chip. If the price is too good to be true, ask before 
you buy: "Are the parts really manufacturer-rated for the system speed?" 

To determine the rated speed of a CPU chip, look at the writing on the chip. Most of the 
time, the part number will end in a suffix of -xxx where the xxx is a number indicating 
the maximum speed. For example, a -100 indicates that the chip is rated for 100 MHz 
operation. Be careful when running software to detect processor speed. Such programs 
can only tell you at what speed the chip is currently running, not what the true rating is. 
Also ignore the speed indicator lights on the front of some cases. These digital displays 
can literally be set via jumpers to read any speed you desire! They have no true relation 
to actual system speed. 



VI 

I* 

Motherboard Form Factors i 

There are several compatible form factors used for motherboards. The form factor refers o 

to the physical dimensions and size of the board, and dictates what type of case the 3 

board will fit into. The types of motherboard form factors generally available are the O 

following: (6 

■ Full-SizeAT " 

■ Baby-AT 

■ LPX 

■ ATX 

Full-Size AT 

The full-size AT motherboard is so named because it matches the original IBM AT 
motherboard design. This allows for a very large board of up to 12 inches wide by 13.8 
inches deep. The keyboard connector and slot connectors must conform to specific 
placement requirements to fit the holes in the case. This type of board will fit into full- 
size AT or Tower cases only. Because these motherboards will not fit into the popular 
Baby-AT or Mini-Tower cases, and because of advances in component miniaturization, 
they are no longer being produced by most motherboard manufacturers. 

Baby-AT 

The Baby-AT form factor is essentially the same as the original IBM XT motherboard, 
with modifications in screw hole positions to fit into an AT-style case (see fig. 4.1). These 



76 



Chapter 4 — Motherboards 



motherboards also have specific placement of the keyboard connector and slot connec- 
tors to match the holes in the case. Note that virtually all full size AT and Baby- AT 
motherboards use the standard 5-pin DIN type connector for the keyboard. Baby-AT 
motherboards will fit into every type of case except the low profile or slimline cases. 
Because of their flexibility, this is now the most popular motherboard form factor. 
Figure 4.1 shows the dimensions and layout of a Baby-AT motherboard. 



13.04 




Figure 4.1 

Baby-AT motherboard form factor. 

LPX 

Another popular form factor used in motherboards today is the LPX and Mini-LPX form 
factors. This form factor was first developed by Western Digital for some of their 
motherboards. Although they no longer produce PC motherboards, the form factor lives 
on and has been duplicated by many other motherboard manufacturers. These are used 
in the Low Profile or slimline case systems sold widely today. The LPX boards are charac- 
terized by several distinctive features. The most noticeable is that the expansion slots are 
mounted on a Bus Riser card that plugs into the motherboard. Expansion cards must 
plug sideways into the riser card. This sideways placement allows for the low profile case 
design. Slots will be located on one or both sides of the riser card depending on the sys- 
tem and case design. Another distinguishing feature of the LPX design is the standard 
placement of connectors on the back of the board. An LPX board will have a row of con- 
nectors for video (VGA 15-pin), parallel (25-pin), two serial ports (9-pin each), and 



Motherboard Form Factors 



77 



mini-DIN PS/2 style Mouse and Keyboard connectors. All of these connectors are 
mounted across the rear of the motherboard and protrude through a slot in the case. 
Some LPX motherboards may have additional connectors for other internal ports such as 
Network or SCSI adapters. Figure 4.2 shows the standard form factors for the LPX and 
Mini-LPX motherboards used in many systems today. 



Riser Card Slot 




Figure 4.2 

LPX and Mini-LPX motherboard form factors. 

ATX 

The new ATX form factor is a recent evolution in motherboard form factors and looks to 
be the defacto standard of the future. ATX is a combination of the best features of the 
Baby-AT and LPX motherboard designs, with many new enhancements and features 
thrown in. The ATX form factor is essentially a Baby-AT motherboard turned sideways in 
the chassis, along with a modified power supply location and connector. The most im- 
portant thing to know initially about the ATX form factor is that it is physically incom- 
patible with either the previous Baby-AT or LPX designs. In other words, a different case 
and power supply are required to match the ATX motherboard. These new case and 
power supply designs will become de facto standards as well, and will be found in most 
of the new systems to come out over the next few years. If you are thinking about maxi- 
mizing future upgrade potential, then you should look for systems that conform to the 
new ATX specification. 

The official ATX specification was released by Intel in July 1995, and has been written as 
an open specification for the industry. Intel has published detailed specifications so 
other manufacturers can use the ATX design in their systems. Intel has truly created a 
new defacto industry standard with the release of the ATX specification. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



78 Chapter 4 — Motherboards 

ATX improves on the existing Baby-AT and LPX motherboard designs in several major 
areas: 

■ Built-in double high external I/O connector panel. The rear portion of the motherboard 
includes a stacked I/O connector area that is 6.25 inches wide by 1.75 inches tall. 
This allows external connectors to be located directly on the board and negates the 
need for cables running from internal connectors to the back of the case as with 
Baby-AT designs. 

■ Single keyed internal power supply connector. This is a boon for the average end user, 
who always had to worry about interchanging the Baby-AT power supply connec- 
tors and subsequently blowing the motherboard! The ATX specification includes a 
single keyed and shrouded power connector that is easy to plug in, and that cannot 
be installed incorrectly. This connector also features pins for supplying 3.3 volts to 
the motherboard, which means that ATX motherboards will not require built-in 
voltage regulators that are susceptible to failure. 

■ Relocated CPU and memory. The CPU and memory modules are relocated so they 
cannot interfere with any bus expansion cards, and they can easily be accessed for 
upgrade without removing any of the installed bus adapters. The CPU and memory 
are relocated next to the power supply, which has a single fan blowing air across 
them, thus eliminating the need for inefficient and failure prone CPU cooling fans. 
There is room for a large passive heatsink above the CPU as well. 

■ Relocated internal I/O connectors. The internal I/O connectors for the floppy and 
hard disk drives are relocated to be near the drive bays and out from under the 
expansion board slot and drive bay areas. This means that internal cables to the 
drives can be much shorter, and accessing the connectors will not require card or 
drive removal. 

■ Improved cooling. The CPU and main memory are cooled directly by the power sup- 
ply fan, eliminating the need for separate case or CPU cooling fans. Also the ATX 
power supply fan blows INTO the system chassis, thus pressurizing it, which 
greatly minimizes dust and dirt intrusion into the system. If desired, an air filter 
can be easily added to the air intake vents on the power supply, creating a system 
that is even more immune to dirt or dust in the environment. 

■ Lower cost to manufacture. The ATX specifications eliminates the need for the rat's 
nest of cables to external port connectors found on Baby-AT motherboards, elimi- 
nates the need for additional CPU or chassis cooling fans, eliminates the need for 
on-board 3.3v voltage regulators, uses a single power supply connector, and allows 
for shorter internal drive cables. These all conspire to greatly reduce not only the 
cost of the motherboard, but also significantly reduces the cost of a complete sys- 
tem including the case and power supply. 

Figure 4.3 shows the new ATX system layout and chassis features. Notice how virtually 
the entire motherboard is clear of the drive bays, and how the devices like CPU, memory, 
and internal drive connectors are easy to access and do not interfere with the bus slots. 



Motherboard Form Factors 



79 



Also notice the power supply orientation and the single power supply fan that blows 
into the case directly over the high heat, generating items like the CPU and memory. 



Double high 
expandable I/O 



Floppy/IDE 
connectors close 
to peripheral bays 



Single 
chassis fan 




, Easy to access 
SIMM memory 



Figure 4.3 

ATX system chassis layout and features. 

The ATX motherboard is basically a Baby-AT design rotated sideways. The expansion 
slots are now parallel to the shorter side dimension, and do not interfere with the CPU, 
memory, or I/O connector sockets. In addition to a full-sized ATX layout, Intel also has 
specified a mini-ATX design as well, which will fit into the same case. The case holes are 
similar to the Baby-AT case, and it will be possible for future cases to support either the 
ATX or Baby AT motherboard designs. The power supplies would require a connector 
adapter to be interchangeable, but the basic ATX power supply design is similar to the 
standard Slimline power supply. The ATX and mini-ATX motherboard dimensions are 
shown in figure 4.4. 

Clearly, the advantages of the ATX form factor make it the choice for all future systems. 
For backwards compatibility, Baby-AT is still hard to beat, and there are still many more 
Baby-AT motherboards, cases, and power supplies on the market than the ATX versions. 
Newer cases will be able to support either Baby-AT or ATX motherboards, and it seems 
clear to me that most future systems will be migrating over to the ATX form factor. 
Within the next year or so, the ATX form factor will surpass even the Baby-AT in new 
sold units. As such, I am now leaning towards recommending the ATX form factor for 
new system purchases. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



80 



Chapter 4 — Motherboards 



.800 TV P. 

BETWEEN 

CONNECTORS 



J ^ .400 

JKJi. * -600 



ISA CONNECTOR\ 
(4 PLACES) 



Yv. 



£ 



.812 

PIN I ISA TO 

PIN I PCI 
SHARED SLOT 



■*- 



10X0.156 
MTG HOLES 



"T" 

\ 



-> 



i 



6.250 
" REAR I/O WINDOW IN CHASSIS 



uuumu+u 



ACCESSIBLE CONNECTOR 
I/O AREA 



PCI CONNECTOR 
(4 PLACES) 



I 



I 



5X 0. 1 56 

MINI ATX 

j MOUNTING HOLES 

, i M MARKED (M) 




--Ja- 



I 



->■ 



X 



10.300 (MINI ATX) 



-4 



u 

.900 



MINI ATX BOARD 

n.a"X8.a" 



Figure 4.4 

ATX and Mini-ATX motherboard form factors. 

LPX will still likely be used in the lowest cost systems, such as those often sold through 
retail electronics superstores. There can be some differences between systems with LPX 
form factor motherboards, so it is possible to find interchangeability problems between 
different motherboards and cases. I usually do not recommend LPX style systems if 
upgradability is a factor because it is not only difficult to locate a new motherboard that 
will fit, but LPX systems are also limited in expansion slots and drive bays as well. Gener- 
ally, the Baby AT or newer ATX configurations are the most popular and the most flex- 
ible type of systems to consider. 



Summary 



The motherboard is obviously the core of your system, and is one component that you 
do not want to take lightly. There are hundreds of versions available, with a variety of 
different CPUs, speeds, features, and options. This chapter has covered the basics about 
different motherboards including a list of desirable features. Also discussed was the dif- 
ferent form factors you will encounter and how they can affect other system options. 



Chapter 5 

Bus Slots and I/O Cards 




At the heart of every system is the motherboard; you learned about various 
motherboards in a previous chapter. A motherboard is made up of components. The 
major component that determines how the motherboard actually works is called the bus. 
In this chapter, you learn about system buses. Specifically, you learn the following: 

■ What a bus is and what types of buses exist 

■ Why expansion slots are needed 

■ What types of I/O buses are used in PC systems £ 

■ What system resources are 3 

n 

■ How adapter cards use system resources O 

■ How to resolve conflicts among system resources 

3 
A 

3 

What is a Bus? " 

A bus is nothing but a common pathway across which data can travel within a computer. 
This pathway is used for communication and can be established between two or more 
computer elements. A PC has many kinds of buses, including the following: 

■ Processor bus 

■ Address bus 

■ Memory bus 

■ I/O bus 

If you hear someone talking about the bus in a PC, chances are good that he or she is 
referring to the I/O bus, which also is called the expansion slot bus. Whatever name it 
goes by, this bus is the main system bus and the one over which most data flows. The 
I/O bus is the highway for most data in your system. Anything that goes to or from any 
device — including your video system, disk drives, and printer — travels over this bus. 
The busiest I/O pathway typically is to and from your video card. 



82 



Chapter 5 — Bus Slots and I/O Cards 



Because the I/O bus is the primary bus in your computer system, it is the main focus of 
discussion in this chapter. The other buses deserve some attention, however, and they 
are covered in the following sections. 

The Processor Bus 

The processor bus is the communication pathway between the CPU and immediate sup- 
port chips. These support chips are usually called the "chipset" in modern systems. This 
bus is used to transfer data between the CPU and the main system bus, for example, or 
between the CPU and an external memory cache. Figure 5.1 shows how this bus fits into 
a typical PC system. 



CPU 




Main System Bus 



Figure 5.1 

The processor bus. 

Most systems have an external cache for the CPU; these caches have typically been em- 
ployed in all systems that use the 486, Pentium, and Pentium-Pro chips. 

Becaue the purpose of the processor bus is to get information to and from the CPU at the 
fastest possible speed, this bus operates at a much faster rate than any other bus in your 
system; no bottleneck exists here. The bus consists of electrical circuits for data, for ad- 
dresses (the address bus, which is discussed in the following section), and for control 
purposes. In a 486-based system, for example, the processor bus consists of 32 address 
lines, 32 data lines, and a few lines for control purposes. A Pentium system's processor 
bus has 64 data lines, 32 address lines, and associated control lines. The Pentium Pro has 
36 address lines, but otherwise it is the same as the Pentium. 

The processor bus operates at the same base clock rate as the CPU does externally. This 
can be misleading as most CPUs these days run internally at a higher clock rate than 
they do externally. For example, a Pentium 100 system has a Pentium CPU running at 
100MHz internally, but only 66.6MHz externally. A Pentium 133, Pentium 166, and 
even the Pentium Pro 200 also run the processor external bus at 66.6MHz. In most newer 
systems, the actual processor speed is some multiple (1.5x, 2x, 2.5x, 3x, and so on) of the 
processor bus. For more information on this, see Chapter 6 on Processors. 

The processor bus is tied to the external processor pin connections and can transfer one 
bit of data per data line every one or two clock cycles. Thus, a 486-based system can 
transfer 32 bits of data at a time, whereas a Pentium or Pentium-Pro can transfer 64 bits 
of data at a time. 



What is a Bus? 83 

To determine the transfer rate for the processor bus, you multiply the data width (32 bits 
for a 486 or 64 bits for a Pentium or Pentium Pro) by the clock speed of the bus (the 
same as the base or unmultiplied clock speed of the CPU). If you are using a 66/100/133/ 
166/200 MHz Pentium or Pentium Pro chip that runs at a 66 MHz motherboard speed, 
and it can transfer a bit of data each clock cycle on each data line, you have a maximum 
instantaneous transfer rate of 528M per second. You get this result by using the follow- 
ing formula: 

66 MHz x 64 bits = 4,224 megabits/second 

4,224 megabits/second -=- 8 = 528M/second 

This transfer rate, often called the bandwidth of the bus, represents a maximum. Like all 
maximums, this rate does not represent the normal operating bandwidth; you should 
expect much lower average throughput. Other limiting factors, such as chipset design, 
memory design, speed, and so on, conspire to lower the effective average throughput. 

The Memory Bus 

The memory bus is used to transfer information between the CPU and main memory — 
the RAM in your system. This bus is either a part of the processor bus itself, or in most 
cases is implemented separately by a dedicated chipset that is responsible for transferring 
information between the processor bus and the memory bus. Systems that ran at *< 

motherboard clock speeds of 16 MHz or faster cycle at rates that exceed the capabilities J 

of standard Dynamic RAM chips. In virtually all systems that are 16 MHz or faster, there 3 

will be a special memory controller chipset that controls the interface between the faster Q 

processor bus and the slower main memory. This chipset typically is the same chipset 3 

that is responsible for managing the I/O bus. Figure 5.2 shows how the memory bus fits 
into your PC. ' 

3 
The information that travels over the memory bus is transferred at a much slower rate Cf 

than the information on the processor bus. The chip sockets or the slots for memory 
SIMMs are connected to the memory bus in much the same way that expansion slots 
are connected to the I/O bus. 



Caution 



Notice that the main memory bus is always the same width as the processor bus. This means that 
in a system with a 32-bit CPU, for example, you will also have a 32-bit memory bus. Likewise, in a 
Pentium or Pentium Pro system (which has a 64-bit CPU), you will have a 64-bit memory bus. This 
will define the size of what is called a "bank" of memory. For example, a 486DX4 processor has a 
32-bit bus, so the memory in that system must be added 32-bits at a time for each bank. If you are 
using 30-pin (8-bit) SIMMs, then four will be required per bank; if the system uses 72-pin (32-bit) 
SIMMs, then only one has to be added at a time to make up a bank. Pentium systems are 64-bit, 
and will almost always require two 72-pin (32-bits each) SIMMs to be added at a time. Some 
newer Pentium and Pentium Pro systems use 168-pin DIMMs (Dual Inline Memory Modules) 
which are 64-bits each. These compose a single bank in a 64-bit system. 



84 



Chapter 5 — Bus Slots and I/O Cards 



Main System Bus 



CPU 



Bus 

Controller 

Chips 



O u> 

E =i 



RAM 




Main System Bus 



Figure 5.2 

The memory bus. 

The Address Bus 

The address bus actually is a subset of the processor and memory busses. Earlier in this 
chapter, you learned that the processor bus in a 486 or Pentium system consists of either 
32 or 64 data lines, 32 address lines, and a few control lines. These address lines consti- 
tute the address bus; in most block diagrams, this bus is actually considered a part of the 
processor and memory busses. 

The address bus is used to indicate what address in memory or what address on the sys- 
tem bus are to be used in a data transfer operation. The address bus indicates precisely 
where the next bus transfer or memory transfer will occur. The size of the memory bus 
also controls the amount of memory that the CPU can address directly. 



The Need for Expansion Slots 

The I/O bus, or expansion slots, are what enables your CPU to communicate with 
peripheral devices. The bus and its associated expansion slots are needed because basic 
systems cannot possibly satisfy all the needs of all the people who buy them. The I/O bus 
enables you to add devices to your computer to expand its capabilities. The most basic 
computer components, such as sound cards and video cards, can be plugged into expan- 
sion slots; you also can plug in more specialized devices, such as network interface cards, 
SCSI host adapters, and others. 



Types of I/O Buses 85 



In most modern PC systems, a variety of basic peripheral devices are built into the motherboard. 
Most systems today have at least dual (primary and secondary) IDE controllers, a floppy controller, 
two serial ports, and a parallel port directly built-in to the motherboard. This is normally contained 
on a single chip called a Super I/O chip. Many will even add more items such as an integrated 
mouse port, Video adapter, SCSI host adapter, or Network Interface also built-in to the 
motherboard; in such a system, an expansion slot on the I/O bus is probably not even needed. 
Nevertheless, these built-in controllers and ports still use the I/O bus to communicate with the 
CPU. In essence even though they are built-in, they act as if they are cards plugged into the 
system's bus slots. 



The number of expansion slots varies among computers. The original IBM PC had five 
expansion slots, for example, and the PC-XT and later PC-AT had eight slots. To this day, 
virtually no PC systems have more than eight expansion slots. With few exceptions, the 
slot spacing has remained the same since the original PC-XT and PC-AT. Slots are spaced 
0.8 inches apart in these and virtually all later PC systems; however, the original IBM PC 
had slots spaced one inch apart. 

Some PC systems provide only a single expansion slot on the motherboard. This slot 

typically is called a riser-card slot. The riser card that plugs into it in turn has expansion 

slots on its sides. Standard adapter cards are installed in the riser card, meaning that the 

adapter cards end up being parallel rather than perpendicular to the motherboard. 3 

n 

Riser cards are used when a vendor wants to produce a computer that is shorter in height 

than normal. These computers usually are called "slimline," "low profile," or sometimes ^ 

even "pizza-box" systems. Even though this type of configuration may seem to be odd, a 

the actual bus used in these systems is the same kind used in normal computer systems; 3 

the only difference is the use of the riser card. «« 

I usually recommend avoiding the low profile or slimline systems because they use a 
motherboard that has what is called an LPX form factor. This refers to the shape of the 
board, and replacement LPX motherboards with riser cards that match the case for a 
given system are difficult to find. This significantly limits the future repair and upgrade 
capabilities of the system. 



Types of I/O Buses 



Since the introduction of the first PC, many I/O buses have been introduced. The reason 
is quite simple: faster I/O speeds are necessary for better system performance. This need 
for higher performance involves three main areas: 

■ Faster CPUs 

■ Increasing software demands 

■ Greater video requirements 



tf 



86 Chapter 5— Bus Slots and I/O Cards 

Each of these areas requires the I/O bus to be as fast as possible. Surprisingly, virtually all 
PC systems shipped today still incorporate the same basic bus architecture as the 1984 
vintage IBM PC/AT. However, most of these systems now also include a second high- 
speed local I/O bus such as VL-Bus or PCI, which offers much greater performance for 
adapters that need it. 

One of the primary reasons why new I/O-bus structures have been slow in coming is 
compatibility — that old Catch-22 that anchors much of the PC industry to the past. One 
of the hallmarks of the PC's success is its standardization. This standardization spawned 
thousands of third-party I/O cards, each originally built for the early bus specifications of 
the PC. If a new, high-performance bus system was introduced, it often had to be com- 
patible with the older bus systems so that the older I/O cards would not be obsolete. 
Therefore, bus technologies seem to evolve rather than make quantum leaps forward. 

You can identify different types of I/O buses by their architecture. The main types of I/O 
architecture are: 

■ ISA 

■ Micro Channel Architecture (MCA) 

■ EISA 

■ VESA Local Bus (VL-Bus) 

■ PCI Local Bus 

■ PC-Card (formerly PCMCIA) 

The differences among these buses consist primarily of the amount of data that they 
can transfer at one time and the speed at which they can do it. Each bus architecture is 
implemented by a chipset that is connected to the processor bus. Typically, this chipset 
also controls the memory bus (refer to figure 5.2 earlier in this chapter). The following 
sections describe the different types of PC buses. 

The ISA Bus 

ISA, which is an acronym for Industry Standard Architecture, is the bus architecture that 
was introduced as an 8-bit bus with the original IBM PC in 1981 and later expanded to 
16-bits with the IBM PC/AT in 1984. ISA is the basis of the modern personal computer 
and the primary architecture used in the vast majority of PC systems on the market to- 
day. It may seem amazing that such a seemingly antiquated architecture is used in 
today's high-performance systems, but this is true for reasons of reliability, affordability, 
and compatibility, plus this old bus is still faster than many of the peripherals that we 
connect to it! 

The ISA bus enabled thousands of manufacturers to build systems whose components 
(except for a few specialized parts) were interchangeable. Serial ports, parallel ports, and 
video adapters that worked in the original IBM PC, XT, and AT also work in other 
manufacturer's PC-compatible systems. 



Types of I/O Buses 87 

Two versions of the ISA bus exist, based on the number of data bits that can be trans- 
ferred on the bus at a time. The older version is an 8-bit bus; the newer version is a 16-bit 
bus. The original 8-bit version ran at 4.77 MHz in the PC and XT. The 16-bit version used 
in the AT ran at 6 MHz and then 8 MHz. Later the industry as a whole agreed on an 8.33 
MHz maximum standard speed for 8/16-bit versions of the ISA bus for backward compat- 
ibility. Some systems have the ability to run the ISA bus faster than this, but some 
adapter cards will not function properly at higher speeds. ISA data transfers require any- 
where from two to eight cycles. Therefore, the theoretical maximum data rate of the ISA 
bus is about 8M bytes per second, as the following formula shows: 

8 MHz x 16 bits = 128 megabits/second 

128 megabits/second -=- 2 cycles = 64 megabits/second 

64 megabits/second -=-8 = 8 MBytes/second 

The bandwidth of the 8-bit bus would be half this figure (4MB per second). Remember, 
however, that these figures are theoretical maximums; because of I/O bus protocols, the 
effective bandwidth is much lower — typically by almost half. Even so, at 8MB per sec- 
ond, the ISA bus is still faster than many of the peripherals we connect to it. 

The 8-Bit ISA Bus. This bus architecture is used in the original IBM PC computers. </, 

Although virtually nonexistent in new systems today, this architecture still exists in «! 

hundreds of thousands of PC systems in the field. * 

Physically, the 8-bit ISA expansion slot resembles the tongue-and-groove system that Q 

furniture makers once used to hold two pieces of wood together. An adapter card with 62 3 
contacts on its bottom edge plugs into a slot on the motherboard that has 62 matching 

contacts. Electronically, this slot provides 8 data lines and 20 addressing lines, enabling 3 

the slot to handle 1M of memory. 3 

VI 

Figure 5.3 describes the pinouts for the 8-bit ISA bus. Figure 5.4 shows how these pins are 
oriented in the expansion slot. 

Although the design of the bus is simple, IBM waited until 1987 to publish full specif- 
ications for the timings of the data and address lines, so in the early days of PC com- 
patibles, manufacturers had to do their best to figure out how to make adapter boards. 
This problem was solved, however, as PC-compatible personal computers became more 
widely accepted as the industry standard and manufacturers had more time and incen- 
tive to build adapter boards that worked correctly with the bus. 

The dimensions of 8-bit ISA adapter cards are as follows: 

4.2 inches (106.68mm) high 

13.13 inches (333.5mm) long 

0.5 inch (12.7mm) wide 



88 



Chapter 5 — Bus Slots and I/O Cards 



Signal 

Ground 

RESET DRV 

+5Vdc 

IRQ 2 

-5Vdc 

DRQ2 

-12Vdc 

-CARD SLCTD 

+12Vdc 

Ground 

-SMEMW 

-SMEMR 

-IOW 

-IOR 

-DACK 3 

DRQ3 

-DACK 1 

DRQ1 

-Refresh 

CLK(4.77MHz) 

IRQ 7 

IRQ 6 

IRQ 5 

IRQ 4 

IRQ 3 

-DACK 2 

T/C 

BALE 

+5Vdc 

OSC(1 4.3MHz) 

Ground 



Pin 



Pin 



- B1 


A1 - 


- B2 


A2- 


- B3 


A3- 


- B4 


A4- 


- B5 


A5- 


- B6 


A6- 


- B7 


A7- 


- B8 


A8- 


- B9 


A9- 


- B10 


A10- 


- B11 


A11 - 


- B12 


A12- 


- B13 


A13- 


- B14 


A14- 


- B15 


A15- 


- B16 


A16- 


- B17 


A17- 


- B18 


A18- 


- B19 


A19- 


- B20 


A20- 


- B21 


A21 - 


- B22 


A22- 


- B23 


A23- 


- B24 


A24- 


- B25 


A25- 


- B26 


A26- 


- B27 


A27- 


- B28 


A28- 


- B29 


A29- 


- B30 


A30- 


- B31 


A31 - 



Signal 
-I/O CH CHK 



Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 



-I/O CH RDY 
AEN 

Address 19 
Address 18 
Address 17 
Address 16 
Address 15 
Address 14 
Address 13 
Address 12 
Address 1 1 
Address 10 
Address 9 
Address 8 
Address 7 
Address 6 
Address 5 
Address 4 
Address 3 
Address 2 
Address 1 
Address 



Figure 5.3 

Pinouts for the 8-bit ISA bus. 




Rear 

of the 

Computer 



Figure 5.4 

The 8-bit ISA bus connector. 

In the original XT or Portable PC, the eighth slot — the one closest to the power supply — 
is a special slot; only certain cards can be installed there. A card installed in the eighth 
slot must supply to the motherboard, on pin B8, a special card-selected signal, which few 
cards are designed to do. (The IBM asynchronous adapter card and the keyboard/timer 
card from a 3270 PC are two examples of cards that fit into the eighth slot.) Additionally, 
the timing requirements for the eighth slot are stricter. 

The reason why this strange slot exists in the XT is that IBM developed the system to 
support a special configuration called the 3270 PC, which really is an XT with three to 
six special adapter boards installed. The eighth slot was designed specifically to accept 



Types of I/O Buses 89 

the keyboard/timer adapter from the 3270 PC. This board needed special access to the 
motherboard because it replaced the motherboard keyboard circuitry. Special timing and 
the card-selected signal made this access possible. 

Contrary to what many users believe, the eighth slot has nothing to do with the IBM 
expansion chassis, which was popular at the time of the PC-XT. The IBM expansion 
chassis is a box developed by IBM that looks like another system unit. Because the IBM 
XT has eight slots, one full-height floppy drive, and one full-height hard drive, the ex- 
pansion chassis makes room for more expansion slots and for additional floppy and hard 
drives. 

The 16-Bit ISA Bus. IBM threw a bombshell on the PC world when it introduced the AT 
with the 286 processor in 1984. This processor had a 16-bit data bus, which meant that 
communications between the processor and the motherboard, as well as memory, would 
now be 16-bits wide instead of only 8-bits wide. Although this processor could have been 
installed on a motherboard with only an 8-bit I/O bus, that would have meant a huge 
sacrifice in the performance of any adapter cards or other devices installed on the bus. 

The introduction of the 286 chip posed a problem for IBM in relation to its next genera- 
tion of PCs. Should the company create a new I/O bus and associated expansion slots, or 
should it try to come up with a system that could support both 8- and 16-bit cards? IBM 
opted for the latter solution, and the PC/AT was introduced with a set of expansion slots »< 

with 16-bit extension connectors. You can plug an 8-bit card into the forward part of the J? 

slot or a 16-bit card into both parts of the slot. 3 

n 

o 

3 

■o 
o 

The expansion slots for the 16-bit ISA bus also introduced access keys to the PC environment. An 
access key is a cutout or notch in an adapter card that fits over a corresponding tab in the connec- 
tor into which the adapter card is inserted. Access keys typically are used to keep adapter cards 
from being inserted into a connector improperly. 



The extension connector in each 16-bit expansion slot adds 36 connector pins to carry 
the extra signals necessary to implement the wider data path. In addition, two of the 
pins in the 8-bit portion of the connector were changed. These two minor changes do 
not alter the function of 8-bit cards. 

Figure 5.5 describes the pinouts for the full 16-bit ISA expansion slot. Figure 5.6 shows 
the orientation and relation of 8-bit and 16-bit ISA bus slots. 

The extended 16-bit slots physically interfere with some 8-bit adapter cards that have a 
skirt — an extended area of the card that drops down toward the motherboard just after 
the connector. To handle these cards, IBM left two expansion ports in the PC/AT without 
the 16-bit extensions. These slots, which are identical to the expansion slots in earlier 
systems, can handle any skirted PC or XT expansion card. This is not a problem today, 
as no skirted 8-bit cards have been manufactured for years. 



3 



90 



Chapter 5 — Bus Slots and I/O Cards 



Signal 

Ground 

RESET DRV 

+5Vdc 

IRQ 9 

-5Vdc 

DRQ2 

-12Vdc 

-0 WAIT 

+12Vdc 

Ground 

-SMEMW 

-SMEMR 

-IOW 

-IOR 

-DACK 3 

DRQ3 

-DACK 1 

DRQ 1 

-Refresh 

CLK(8.33MHz) 

IRQ 7 

IRQ 6 

IRQ 5 

IRQ 4 

IRQ 3 

-DACK 2 

T/C 

BALE 

+5Vdc 

OSC(14.3MHz) 

Ground 



Pin 



Pin 



- B1 


A1 - 


- B2 


A2 - 


- B3 


A3 - 


- B4 


A4 - 


- B5 


A5 - 


- B6 


A6 - 


- B7 


A7 - 


- B8 


A8 - 


- B9 


A9 - 


- B10 


A10 - 


- B11 


A11 - 


- B12 


A12 - 


- B13 


A13 - 


- B14 


A14 - 


- B15 


A15 - 


- B16 


A16 - 


- B17 


A17 - 


- B18 


A18 - 


- B19 


A19 - 


- B20 


A20 - 


- B21 


A21 - 


- B22 


A22 - 


- B23 


A23 - 


- B24 


A24 - 


- B25 


A25 - 


- B26 


A26 - 


- B27 


A27 - 


- B28 


A28 - 


- B29 


A29 - 


- B30 


A30 - 


- B31 


A31 - 



Signal 
-I/O CH CHK 



Data B 
Data B: 
Data B 
Data B 
Data B: 
Data B: 
Data B 
Data B 



it 7 

it 6 

it 5 

it 4 

it 3 

it 2 

it 1 
HO 



-I/O CH RDY 
AEN 

Address 19 
Address 18 
Address 17 
Address 16 
Address 15 
Address 14 
Address 13 
Address 12 
Address 1 1 
Address 10 
Address 9 
Address 8 
Address 7 
Address 6 
Address 5 
Address 4 
Address 3 
Address 2 
Address 1 
Address 



MEMCS16 


- D1 


C1 - 


-I/OCS16 


- D2 


C2- 


IRQ 10 


- D3 


C3- 


IRQ 11 


- D4 


C4- 


IRQ 12 


- D5 


C5- 


IRQ 15 


- D6 


C6- 


IRQ 14 


- D7 


C7- 


-DACK 


- D8 


C8- 


DRQO 


- D9 


C9- 


-DACK 5 


- D10 


C10- 


DRQ5 


- D11 


C11 - 


-DACK 6 


- D12 


C12- 


DRQ 6 


- D13 


C13- 


-DACK 7 


- D14 


C14- 


DRQ 7 


- D15 


C15- 


+5Vdc 


- D16 


C16- 


-Master 


- D17 


C17- 


Ground 


- D18 


C18- 



-SBHE 

Latch Address 23 
Latch Address 22 
Latch Address 21 
Latch Address 20 
Latch Address 19 
Latch Address 18 
Latch Address 17 
-MEMR 
-MEMW 



DataB 
DataB 
DataB 
DataB 
DataB 
DataB 
DataB 
DataB 



it 8 
it 9 
it 10 
it 11 
it 12 
it 13 
it 14 
it 15 



Figure 5.5 

Pinouts for the 16-bit ISA bus. 



Types of I/O Buses 



91 



8/16-bit ISA Bus Pinouts. 
8-bit PC/XT Connector: 



1 6-bit AT Connector: 



Signal Pin Numbers Signal 



GROUND 

RESET DRV 

+5Vdc 

IRQ 2 

-5Vdc 

DRQ2 

-12 Vdc 

-CARD SLCT 

+12 Vdc 

GROUND 

-SMEMW 

-SMEMR 

-IOW 

-IOR 

-DACK 3 

DRQ3 

-DACK 1 

DRQ1 

-REFRESH 

CLK (4.77MHz) 

IRQ 7 

IRQ 6 

IRQ 5 

IRQ 4 

IRQ 3 

-DACK 2 

T/C 

BALE 

+5 Vdc 

OSC (14.3MHz) 

GROUND 



-B1 


A1 - 


-B2 


A2- 


-B3 


A3- 


-B4 


A4- 


-B5 


A5- 


-B6 


A6- 


-B7 


A7- 


-B8 


A8- 


-B9 


A9- 


-B10 


A10- 


-B11 


A11 - 


-B12 


A12- 


-B13 


A13- 


-B14 


A14- 


-B15 


A15- 


-B16 


A16- 


-B17 


A17- 


-B18 


A18- 


-B19 


A19- 


-B20 


A20- 


-B21 


A21 - 


-B22 


A22- 


-B23 


A23- 


-B24 


A24- 


-B25 


A25- 


-B26 


A26- 


-B27 


A27- 


-B28 


A28- 


-B29 


A29- 


-B30 


A30- 


-B31 


A31 - 



-I/O CHK 


GROUND 


DATA 7 


RESET DRV 


DATA 6 


+5 Vdc 


DATA 5 


IRQ 9 


DATA 4 


-5 Vdc 


DATA 3 


DRQ2 


DATA 2 


-12 Vdc 


DATA1 


-OWS 


DATAO 


+12 Vdc 


-I/O RDY 


GROUND 


AEN 


-SMEMW 


ADDR 19 


-SMEMR 


ADDR 18 


-IOW 


ADDR 17 


-IOR 


ADDR 16 


-DACK 3 


ADDR 15 


DRQ3 


ADDR 14 


-DACK 1 


ADDR 13 


DRQ1 


ADDR 12 


-REFRESH 


ADDR 1 1 


CLK (8.33MHz) 


ADDR 10 


IRQ 7 


ADDR 9 


IRQ 6 


ADDR 8 


IRQ 5 


ADDR 7 


IRQ 4 


ADDR 6 


IRQ 3 


ADDR 5 


-DACK 2 


ADDR 4 


T/C 


ADDR 3 


BALE 


ADDR 2 


+5 Vdc 


ADDR 1 


OSC (14.3MHz) 


ADDRO 


GROUND 



Signal Pin Numbers Signal 



-I/O CHK 
DATA 7 
DATA 6 
DATA 5 
DATA 4 
DATA 3 
DATA 2 
DATA1 
DATAO 
-I/O RDY 
AEN 

ADDR 19 
ADDR 18 
ADDR 17 
ADDR 16 
ADDR 15 
ADDR 14 
ADDR 13 
ADDR 12 
ADDR 11 
ADDR 10 
ADDR 9 
ADDR 8 
ADDR 7 
ADDR 6 
ADDR 5 
ADDR 4 
ADDR 3 
ADDR 2 
ADDR1 
ADDRO 



-SBHE 
LADDR 23 
LADDR 22 
LADDR 21 
LADDR 20 
LADDR 19 
LADDR 18 
LADDR 17 
-MEMR 
-MEMW 
DATA 8 
DATA 9 
DATA 10 
DATA 1 1 
DATA 12 
DATA 13 
DATA 14 
DATA 15 



-B1 


A1 - 


-B2 


A2- 


-B3 


A3- 


-B4 


A4- 


-B5 


A5- 


-B6 


A6- 


-B7 


A7- 


-B8 


A8- 


-B9 


A9- 


-B10 


A10- 


-B11 


A11 - 


-B12 


A12- 


-B13 


A13- 


-B14 


A14- 


-B15 


A15- 


-B16 


A16- 


-B17 


A17- 


-B18 


A18- 


-B19 


A19- 


-B20 


A20- 


-B21 


A21 - 


-B22 


A22- 


-B23 


A23- 


-B24 


A24- 


-B25 


A25- 


-B26 


A26- 


-B27 


A27- 


-B28 


A28- 


-B29 


A29- 


-B30 


A30- 


-B31 


A31 - 



MEMCS16 


-D1 


C1 - 


-I/OCS16 


-D2 


C2- 


IRQ 10 


-D3 


C3- 


IRQ 11 


-D4 


C4- 


IRQ 12 


-D5 


C5- 


IRQ 15 


-D6 


C6- 


IRQ 14 


-D7 


C7- 


-DACK 


-D8 


C8- 


DRQ0 


-D9 


C9- 


-DACK 5 


-D10 


C10- 


DRQ5 


-D11 


C11 - 


-DACK 6 


-D12 


C12- 


DRQ6 


-D13 


C13- 


-DACK 7 


-D14 


C14- 


DRQ7 


-D15 


C15- 


+5 Vdc 


-D16 


C16- 


-MASTER 


-D17 


C17- 


GROUND 


-D18 


C18- 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



Figure 5.6 

The 8-bit and 16-bit ISA bus connectors. 



92 



Chapter 5 — Bus Slots and I/O Cards 



1 6-bit ISA expansion slots were introduced in 1 984. Since then, virtually every manufacturer of 
8-bit expansion cards has designed them without drop-down skirts so that they fit properly in 
1 6-bit slots. Most new systems do not have any 8-bit only slots, since a properly designed 8-bit 
card will work in any 1 6-bit slot. 



The dimensions of a typical AT expansion board are as follows: 
4.8 inches (121.92mm) high 
13.13 inches (333.5mm) long 
0.5 inch (12.7mm) wide 



Two heights actually are available for cards that are commonly used in AT systems: 4.8 
inches and 4.2 inches (the height of older PC-XT cards). The shorter cards became an 
issue when IBM introduced the XT Model 286. Because this model has an AT mother- 
board in an XT case, it needs AT-type boards with the 4.2-inch maximum height. Most 
board makers trimmed the height of their boards; many manufacturers now make only 
4.2-inch-tall (or less) boards so that they will work in systems with either profile. 

32-Bit Buses. After 32-bit CPUs became available, it was some time before 32-bit bus 
standards became available. Before MCA and EISA specs were released, some vendors 
began creating their own proprietary 32-bit buses, which were extensions of the ISA bus. 
Although the proprietary buses were few and far between, they do still exist. 

The expanded portions of the bus typically are used for proprietary memory expansion 
or video cards. Because the systems are proprietary (meaning that they are nonstandard), 
pinouts and specifications are not available. 

The Micro Channel Bus 

The introduction of 32-bit chips meant that the ISA bus could not handle the power of 
another new generation of CPUs. The 386DX chips can transfer 32 bits of data at a time, 
but the ISA bus can handle a maximum 16 bits. Rather than extend the ISA bus again, 
IBM decided to build a new bus; the result was the MCA bus. MCA (an acronym for mi- 
cro channel architecture) is completely different from the ISA bus and is technically 
superior in every way. 

IBM not only wanted to replace the old ISA standard, but also to receive royalties on it; 
the company required vendors that licensed the new MCA bus to pay IBM royalties for 
using the ISA bus in all previous systems. This requirement led to the development of 
the competing EISA bus (described later in this chapter) and hindered acceptance of the 
MCA bus. Another reason why MCA has not been adopted universally for systems with 
32-bit slots is that adapter cards designed for ISA systems do not work in MCA systems. 

MCA runs asynchronously with the main processor, meaning that fewer possibilities 
exist for timing problems among adapter cards plugged into the bus. 



on the web http://www.currents.net/resources/cyclo/tinfo.html?Micro+Chaiinel 




Types of I/O Buses 



93 



The MCA bus is not compatible with the older ISA bus, so cards designed for the ISA bus do not 
work in an MCA system. 



MCA systems produced a new level of ease of use, as anyone who has set up one of these 
systems can tell you. An MCA system has no jumpers and switches — neither on the 
motherboard nor on any expansion adapter. You don't need an electrical-engineering 
degree to plug a card into a PC. 

The MCA bus also supports bus mastering. Through implementing bus mastering, the 
MCA bus provides significant performance improvements over the older ISA buses. (Bus 
mastering is also implemented in the EISA bus. General information related to bus mas- 
tering is discussed in the "Bus Mastering" section later in this chapter.) In the MCA bus 
mastering implementation, any bus mastering devices can request unobstructed use of 
the bus in order to communicate with another device on the bus. The request is made 
through a device known as the Central Arbitration Control Point (CACP). This device 
arbitrates the competition for the bus, making sure all devices have access and that no 
single device monopolizes the bus. 

Each device is given a priority code to ensure that order is preserved within the system. 
The main CPU is given the lowest priority code. Memory refresh has the highest priority, 
followed by the DMA channels, and then the bus masters installed in the I/O slots. One 
exception to this is when an NMI (non-maskable interrupt) occurs. In this instance, con- 
trol returns to the CPU immediately. 

The MCA specification provides for four adapter sizes, which are described in table 5.1. 



Table 5.1 Physical Sizes of MCA Adapter Cards 



Adapter 


Type 


Height 


Lengl 


Type 3 




3.475" 


12.3" 


Type 3 half 




3.475" 


6.35" 


Type 5 




4.825" 


13.1" 


Type 9 




9.0" 


13.1" 



Four types of slots are involved in the MCA design: 

■ 16-bit 

■ 16-bit with video extensions 

■ 16-bit with memory-matched extensions 

■ 32-bit 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



16-Bit MCA Slots. Every MCA slot has a 16-bit connector. This connector is the primary 
MCA slot design — the one used in all MCA systems. This 16-bit MCA slot has connectors 



94 



Chapter 5 — Bus Slots and I/O Cards 



that are smaller than the connectors in an ISA system. The slot itself is divided into two 
sections; one section handles 8-bit operations, and the other handles 16-bit operations. 

Figure 5.7 describes the pinouts for the 16-bit MCA connector. Pins Bl/Al through B45/ 
A45 are responsible for 8-bit operations, and pins B48/A48 through B58/A58 handle 
16-bit operations. 



Signal 

AUDIO GND 

AUDIO 

Ground 

OSC (14.3 MHZ) 

Ground 

Address 23 

Address 22 

Address 21 

Ground 

Address 20 

Address 1 9 

Address 18 

Ground 

Address 17 

Address 16 

Address 15 

Ground 

Address 14 

Address 13 

Address 12 

Ground 

-IRQ 9 

-IRQ 3 

-IRQ 4 

Ground 

-IRQ 5 

-IRQ 6 

-IRQ 7 

Ground 

Reserved 

Reserved 

-CHCK 

Ground 

-CMD 

CHRDYRTN 

-CD SFDBK 

Ground 

Data Bit 1 

Data Bit 3 

Data Bit 4 

Ground 

CHRESET 

Reserved 

Reserved 

Ground 

KEY 

KEY 

Data Bit 8 

Data Bit 9 

Ground 

Data Bit 12 

Data Bit 14 

Data Bit 15 

Ground 

-IRQ 10 

-IRQ 11 

-IRQ 12 

Ground 

Reserved 

Reserved 



- B1 


A1 - 


- B2 


A2 - 


- B3 


A3 - 


- B4 


A4 - 


- B5 


A5 - 


- B6 


A6 - 


- B7 


A7 - 


- B8 


A8 - 


- B9 


A9 - 


- B10 


A10 - 


- B11 


A11 - 


- B12 


A12 - 


- B13 


A13 - 


- B14 


A14 - 


- B15 


A15 - 


- B16 


A16 - 


- B17 


A17 - 


- B18 


A18 - 


- B19 


A19 - 


- B20 


A20 - 


- B21 


A21 - 


- B22 


A22 - 


- B23 


A23 - 


- B24 


A24 - 


- B25 


A25 - 


- B26 


A26 - 


- B27 


A27 - 


- B28 


A28 - 


- B29 


A29 - 


- B30 


A30 - 


- B31 


A31 - 


- B32 


A32 - 


- B33 


A33 - 


- B34 


A34 - 


- B35 


A35 - 


- B36 


A36 - 


- B37 


A37 - 


- B38 


A38 - 


- B39 


A39 - 


- B40 


A40 - 


- B41 


A41 - 


- B42 


A42 - 


- B43 


A43 - 


- B44 


A44 - 


- B45 


A45 - 


- B46 


A46 - 


- B47 


A47 - 


- B48 


A48 - 


- B49 


A49 - 


- B50 


A50 - 


- B51 


A51 - 


- B52 


A52 - 


- B53 


A53 - 


- B54 


A54 - 


- B55 


A55 - 


- B56 


A56 - 


- B57 


A57 - 


- B58 


A58 - 


- B59 


A59 - 


- B60 


A60 - 



Signal 

-CD SETUP 
MADE 24 
Ground 
Address 1 1 
Address 10 
Address 9 
+5Vdc 
Address 8 
Address 7 
Address 6 
+5Vdc 
Address 5 
Address 4 
Address 3 
+5Vdc 
Address 2 
Address 1 
Address 
+12 Vdc 
-ADL 

-PREEMPT 
-BURST 
-12 Vdc 
ARB00 
ARB01 
ARB02 
-12 Vdc 
ARB03 
ARB/-QNT 
-TC 
+5 Vdc 
-SO 
-S1 
M/-IO 
+12 Vdc 
CD CHRDY 
Data Bit 
Data Bit 2 
+5 Vdc 
Data Bit 5 
Data Bit 6 
Data Bit 7 
Ground 
-DS16RTN 
-REFRESH 
KEY 
KEY 
+5 Vdc 
Data Bit 10 
Data Bit 1 1 
Data Bit 13 
+12 Vdc 
Reserved 
-SBHE 
-CD DS16 
+5 Vdc 
-IRQ 14 
-IRQ 15 
Reserved 
Reserved 



Figure 5.7 

Pinouts for the 16-bit MCA bus. 



Types of I/O Buses 



95 



Figure 5.8 shows how the connector for this card appears. 




Figure 5.8 

A 16-bit MCA connector. 

32-Bit MCA Slots. In addition to the basic 16-bit slot, MCA systems based on the 386DX 
or later CPU have several 32-bit slots that are designed to take advantage of the proces- 
sors' increased communications and memory-addressing capabilities. Even though the 
32-bit slot is an extension of the original MCA connector (as the 16-bit ISA slot is an 
extension of the 8-bit ISA design), this extension was designed at the same time as the 
rest of MCA. Therefore, because the extension connector was not an afterthought, the 
design is more integrated than the 16-bit extension in ISA systems. 

Figure 5.9 describes the pinouts for the 32-bit MCA connector. Pins Bl/Al through B58/ 
A58 are exactly the same as in the 16-bit connector. Pins B59/A59 through B89/A89 are 
the 32-bit section. Figure 5.10 shows how the connector for this card appears. 

Memory-Matched Extensions. Certain MCA systems (notably, IBM models 70 and 80) 
have bus extensions that support the operation of enhanced memory cards and support 
data transfer to those cards. These extensions are called memory-matched extensions. 

The presence of memory-matched extensions varies from system to system. Some sys- 
tems don't use the extensions at all; other systems include them on only one or a few 
slots. If one of your slots is equipped with these extensions, it will be on the end of the 
slot toward the rear of the motherboard (preceding pins Bl and Al on your main MCA 
connector). You should refer to your system documentation to determine whether your 
system uses the extensions. 

Figure 5.11 details the additional pin-out specifications for the extensions. Figure 5.12 
shows how this connector appears in your system. 

MCA Video Extensions. The third type of MCA slot is a standard 16-bit MCA connector 
with a special video-extension connector. This special slot appears in almost every MCA 
system. This slot is designed to speed your video subsystem. 

The MCA video-extension connector is positioned at the end of the slot toward the rear 
of the motherboard (before pins Bl and Al on the main MCA connector). The connector 
takes advantage of special VGA circuitry built into the motherboard. MCA provides com- 
patible high-resolution video adapters that have special access to this motherboard cir- 
cuitry, so that the special circuitry does not have to be duplicated on the video card 
itself. 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



96 



Chapter 5 — Bus Slots and I/O Cards 



Signal 

AUDIO GND 

AUDIO 

Ground 

OSC (14.3 MHZ) 

Ground 

Address 23 

Address 22 

Address 21 

Ground 

Address 20 

Address 19 

Address 18 

Ground 

Address 1 7 

Address 16 

Address 1 5 

Ground 

Address 14 

Address 13 

Address 12 

Ground 

-IRQ 9 

-IRQ 3 

-IRQ 4 

Ground 

-IRQ 5 

-IRQ 6 

-IRQ 7 

Ground 

Reserved 

Reserved 

-CHCK 

Ground 

-CMD 

CHRDYRTN 

-CD SFDBK 

Ground 

Data Bit 1 

Data Bit 3 

Data Bit 4 

Ground 

CHRESET 

Reserved 

Reserved 

Ground 

KEY 

KEY 

Data Bit 8 

Data Bit 9 

Ground 

Data Bit 12 

Data Bit 14 

Data Bit 15 

Ground 

-IRQ 10 

-IRQ 11 

-IRQ 12 

Ground 

Reserved 

Reserved 



Pin 



Pin 



Signal 



Signal 



Pin 



Pin 



- B1 


A1 - 


- B2 


A2 - 


- B3 


A3 - 


- B4 


A4 - 


- B5 


A5 - 


- B6 


A6 - 


- B7 


A7 - 


- B8 


A8 - 


- B9 


A9 - 


- B10 


A10 - 


- B11 


A11 - 


- B12 


A12 - 


- B13 


A13 - 


- B14 


A14 - 


- B15 


A15 - 


- B16 


A16 - 


- B17 


A17 - 


- B18 


A18 - 


- B19 


A19 - 


- B20 


A20 - 


- B21 


A21 - 


- B22 


A22 - 


- B23 


A23 - 


- B24 


A24 - 


- B25 


A25 - 


- B26 


A26 - 


- B27 


A27 - 


- B28 


A28 - 


- B29 


A29 - 


- B30 


A30 - 


- B31 


A31 - 


- B32 


A32 - 


- B33 


A33 - 


- B34 


A34 - 


- B35 


A35 - 


- B36 


A36 - 


- B37 


A37 - 


- B38 


A38 - 


- B39 


A39 - 


- B40 


A40 - 


- B41 


A41 - 


- B42 


A42 - 


- B43 


A43 - 


- B44 


A44 - 


- B45 


A45 - 


- B46 


A46 - 


- B47 


A47 - 


- B48 


A48 - 


- B49 


A49 - 


- B50 


A50 - 


- B51 


A51 - 


- B52 


A52 - 


- B53 


A53 - 


- B54 


A54 - 


- B55 


A55 - 


- B56 


A56 - 


- B57 


A57 - 


- B58 


A58 - 


- B59 


A59 - 


- B60 


A60 - 



-CD SETUP 


Reserved 


MADE 24 


Reserved 


Ground 


Ground 


Address 1 1 


Data Bit 16 


Address 10 


Data Bit 17 


Address 9 


Data Bit 18 


+5Vdc 


Ground 


Address 8 


Data Bit 22 


Address 7 


Data Bit 23 


Address 6 


Reserved 


+5Vdc 


Ground 


Address 5 


Data Bit 27 


Address 4 


Data Bit 28 


Address 3 


Data Bit 29 


+5Vdc 


Ground 


Address 2 


-BE0 


Address 1 


-BE1 


Address 


-BE 2 


+12Vdc 


Ground 


-ADL 


TR32 


-PREEMPT 


Address 24 


-BURST 


Address 25 


-12 Vdc 


Ground 


ARB00 


Address 29 


ARB01 


Address 30 


ARB02 


Address 31 


-12 Vdc 


Ground 


ARB03 


Reserved 


ARB/-GNT 


Reserved 


-TC 




+5Vdc 




-SO 




-S1 




M/-IO 




+12 Vdc 




CD CHRDY 




Data Bit 




Data Bit 2 




+5 Vdc 




Data Bit 5 




Data Bit 6 




Data Bit 7 




Ground 




-DS 16 RTN 




-REFRESH 




KEY 




KEY 




+5 Vdc 




Data Bit 10 




Data Bit 1 1 




Data Bit 13 




+12 Vdc 




Reserved 




-SBHE 




-CDDS 16 




+5 Vdc 




-IRQ 14 




-IRQ 15 




Reserved 




Reserved 





- B61 


A61 - 


- B62 


A62 - 


- B63 


A63 - 


- B64 


A64 - 


- B65 


A65 - 


- B66 


A66 - 


- B67 


A67 - 


- B68 


A68 - 


- B69 


A69 - 


- B70 


A70 - 


- B71 


A71 - 


- B72 


A72 - 


- B73 


A73 - 


- B74 


A74 - 


- B75 


A75 - 


- B76 


A76 - 


- B77 


A77 - 


- B78 


A78 - 


- B79 


A79 - 


- B80 


A80 - 


- B81 


A81 - 


- B82 


A82 - 


- B83 


A83 - 


- B84 


A84 - 


- B85 


A85 - 


- B86 


A86 - 


- B87 


A87 - 


- B88 


A88 - 


- B89 


A89 - 



Signal 

Ground 
Reserved 
Reserved 
Reserved 
+ 12 Vdc 



DataB 
DataB 
Data Bi 
+ 5 Vdc 



it 19 
t20 
t 21 



t24 
t25 
t26 



Data Bit 
Data Bit 
Data Bit 
+ 5 Vdc 
Data Bit 30 
Data Bit 31 
Reserved 
+ 12 Vdc 
-BE 3 

-DS 32 RTN 
-CD DS 32 
+ 5 Vdc 
Address 26 
Address 27 
Address 28 
+ 5 Vdc 
Reserved 
Reserved 
Reserved 
Ground 



Figure 5.9 

Pinouts for the 32-bit MCA bus. 



Types of I/O Buses 



97 




Figure 5.10 

The MCA connector. 



Signal 



Pin 



Pin 



Signal 



Ground 


- BM4 


AM4- 


Reserved 


Reserved 


- BM3 


AM3- 


-MMCCMD 


-MMCR 


- BM2 


AM2- 


Ground 


Reserved 


- BM1 


AM1 - 


-MMC 



Figure 5.11 

Additional pinouts for the MCA memory-matched extensions. 





16-bit MCA Connector 





















CO 

CO 

CO 

> 

00 
CD 


CD 
00 

> 
00 




CD 

> 

Ul 


CO CO 

> 

> 2 


CO 

> 

-til 





















Rear 

of the 

Computer 



# 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



32-bit MCA Connector 

Figure 5.12 

The MCA connector with memory-matched extensions. 



No matter what new type of video board you add to an MCA system, all your programs 
will run, because you never lose the built-in VGA circuits. In addition, the built-in VGA 
circuits do not have to be disabled if you add a newer video card. Your new card can coex- 
ist with the VGA circuits and even "borrow" some elements, such as the digital-to-analog 
converter. This arrangement (in theory) can make the add-on video boards less expensive, 
because they can rely on motherboard circuitry instead of providing their own. 

Typically, only one slot in an MCA system has the video extensions. This arrangement 
makes sense, because a typical system has only one video card. 



Figure 5.13 describes the additional pinout connections for the slot with video extensions. 



98 



Chapter 5 — Bus Slots and I/O Cards 



Signal 

ESYNC 

Ground 
P5 
P4 
P3 

Ground 
P2 
P1 
PO 

Ground 

KEY 



Pin 



Pin 



- BV10 


AV10- 


- BV9 


AV9- 


- BV8 


AV8- 


- BV7 


AV7- 


- BV6 


AV6- 


- BV5 


AV5- 


- BV4 


AV4- 


- BV3 


AV3- 


- BV2 


AV2- 


- BV1 


AV1 - 



Signal 

VSYNC 

HSYNC 

BLSNK 

Ground 

P6 

EDCLK 

DCLK 

Ground 

P7 

EVIDEO 



KEY 



KEY KEY 



Figure 5.13 

Pinouts for the MCA Auxiliary Video Extension Connector (AVEC). 

Figure 5.14 shows what this slot looks like in your system. 















B48 A48 
B58 A58 




BV1 

AV10 
B1 A1 

B45 A45 















Rear 

of the 

Computer 



16-bit MCA Connector 















B48 A48 
B89 A89 




BV1 

AV10 
B1 A1 

B45 A45 















Rear 

of the 

Computer 



32-bit MCA Connector 



Figure 5.14 

The MCA connectors with video extensions. 

Although the MCA bus was technically a masterpiece of design and engineering, it was 
too far ahead of its time. The PC world was not ready for Plug and Play systems in 1987, 
and seemed willing to fuss with jumpers and switches instead! MCA was deemed too 
costly, and there was never anywhere near the choice in adapters compared to ISA. MCA 
had far greater performance potential; in fact the performance of the MCA bus comes 
close to even the PCI local bus type slots used today, but at the time it came out, most 
peripherals were even slower than ISA, and the performance advantages of MCA simply 
could not be exploited. 

IBM has discontinued the PS/2 line of computers which were primarily based on the 
MCA bus, and although some of the newer PCs still being offered by IBM are available 
with MCA busses, the MCA bus is dead. There are no adapter companies I am aware of 
that are still actively designing for this bus, although existing cards will be available for 
several years to come. 



1/1 



Types of I/O Buses 99 

If you are in search of MCA cards or peripherals, an organization called the MCDA (Mi- 
cro Channel Developers Association) is available to assist in supporting MCA systems. It 
carries virtually every MCA card made, and is an excellent source of information on the 
MCA bus itself. Check it out in the vendor list in Appendix B. 

The EISA Bus 

EISA is an acronym for extended industry standard architecture. This standard was an- 
nounced in September 1988 as a response to IBM's introduction of the MCA bus — more 
specifically, to the way that IBM wanted to handle licensing of the MCA bus. Vendors 
did not feel obligated to pay retroactive royalties on the ISA bus, so they turned their 
backs on IBM and created their own buses. 

The EISA standard was developed primarily by Compaq, and was intended to be its way 
of taking away from IBM future development of the PC bus. Compaq knew that nobody 
would clone its bus if it was the only company that had it, so it essentially gave the de- 
sign away to other leading manufacturers. They formed the EISA committee, a nonprofit 
organization designed specifically to control development of the EISA bus. 

Although 95% of it was already done by Compaq by the time the committee was formed, 
Compaq encouraged at least eight other leading manufacturers to join in to finish the 
specification. Additionally, the committee would then control all future development of 
the EISA bus, preventing any one company from dominating. This may sound benevo- *< 

lent on Compaq's part, but it knew the bus structure better than anybody else by this {J 

time, and already had chipsets, support chips, adapter cards, and motherboard designs 3 

ready to go. It would be the industry leader with this new bus. The ploy backfired, be- 
cause EISA never even became as popular as MCA, selling in far fewer numbers. The "bus 
war" that was being touted by the media simply never even really got started. The first 
EISA machines started appearing on the market in 1989. ^ 

3 
Very few EISA adapters were ever developed, and those that were developed centered wi 

mainly around disk array controllers and server type network cards. For this reason, EISA 
systems have found a niche in use as network fileservers. On the desktop, EISA systems 
were never popular and are definitely not recommended with many better and faster 
busses available. The saving grace in EISA systems was the fact that they could use exist- 
ing ISA cards. Unfortunately, most EISA systems only use ISA type cards, and have a 
significant amount of onboard hardware that simply will never become utilized. The 
EISA bus was designed as a successor to the ISA bus, although it has not turned out quite 
that way (as evidenced by the appearance of additional bus specifications). The EISA bus 
provides 32-bit slots for use with 386DX or higher systems. The EISA slot enables manu- 
facturers to design adapter cards that have many of the capabilities of MCA adapters, 
but the bus also supports adapter cards created for the older ISA standard. 

http://www.surepath.ibm.com/documents/pcs/bioseisa.html 

EISA provides markedly faster hard-drive throughput when used with devices such as 
SCSI bus-mastering hard drive controllers. Compared with 16-bit ISA system architecture, 
EISA permits greater system expansion with fewer adapter conflicts. 



n 

o 



i^ 



100 Chapter 5— Bus Slots and I/O Cards 

The EISA bus adds 90 new connections (55 new signals) without increasing the physical 
connector size of the 16-bit ISA bus. At first glance, the 32-bit EISA slot looks much like 
the 16-bit ISA slot. The EISA adapter, however, has two rows of connectors. The first row 
is the same kind used in 16-bit ISA cards; the other, thinner row extends from the 16-bit 
connectors. 

To visualize the edge connectors on an EISA card, imagine that you are laying a l'xl' 
board on a 2'x2' board in a lumberyard. The edge connector on an EISA board is about 
0.2 inch longer than the connectors on an 8- or 16-bit ISA adapter board. The longest 
(and thinnest) connectors on an EISA card pass through the 16-bit part of the slot and 
make contact with the 32-bit connectors deeper in the slot. Essentially you end up with a 
double-decker connector with the old ISA bus portion on the top and the new EISA ex- 
tension connector on the bottom. This connector design solved a potentially disastrous 
problem with high insertion forces that would have occurred if they had simply ex- 
tended the ISA connector lengthwise. 

The physical specifications of an EISA card are as follows: 

5 inches (127mm) high 

13.13 inches (333.5mm) long 

0.5 inch (12.7mm) wide 

The EISA specification calls for more than 45 watts at four different voltages to be avail- 
able to each slot — a challenge to 200-watt or smaller power supplies, because it takes 
more than 325 watts to fully power the eight EISA slots in a system. Most EISA adapter 
cards, however, do not use the full 45 watts available to them; in fact, most cards use 
about the same amount of power as 8- and 16-bit ISA adapter boards, which is up to 
about 15 watts. Maximum power consumption for all the different busses is discussed in 
Chapter 8, "The Power Supply." 

The EISA bus can handle up to 32 bits of data at an 8.33 MHz cycle rate. Most data 
transfers require a minimum of two cycles, although faster cycle rates are possible if an 
adapter card provides tight timing specifications. The maximum bandwidth on the bus 
is 33M per second, as the following formula shows: 

8.33 MHz x 32 bits = 266.56 megabits/second 

266.56 megabits/second -h 8 = 33.32M/second 

Data transfers through an 8- or 16-bit expansion card across the bus would be reduced 
appropriately. Remember, however, that these figures represent theoretical maximums. 
Wait states, interrupts, and other protocol factors can reduce the effective bandwidth — 
typically, by half. Figure 5.15 describes the pinouts for the EISA bus. 

Figure 5.16 shows the locations of the pins. 



Types of I/O Buses 



101 



Lower Signal 


Upper Signal 


Ground 


Ground 


+5Vdc 


RESET DRV 


+5 Vdc 


+5 Vdc 


Reserved 


IRQ 9 


Reserved 


-5 Vdc 


KEY 


DRQ2 


Reserved 


-12 Vdc 


Reserved 


-0 WAIT 


+12 Vdc 


+12 Vdc 


M-IO 


Ground 


-LOCK 


-SMEMW 


Reserved 


-SMEMR 


Ground 


-IOW 


Reserved 


-IOR 


-BE 3 


-DACK 3 


KEY 


DRQ3 


-BE 2 


-DACK 1 


-BEO 


DRQ1 


Ground 


-Refresh 


+5 Vdc 


CLK(8.33MHz) 


Latch Address 29 


IRQ 7 


Ground 


IRQ 6 


Latch Address 26 


IRQ 5 


Latch Address 24 


IRQ 4 


KEY 


IRQ 3 


Latch Address 16 


-DACK 2 


Latch Address 14 


T/C 


+5 Vdc 


BALE 


+5 Vdc 


+5 Vdc 


Ground 


OSC(14.3MHz) 


Latch Address 10 


Ground 



Pin 



Pin 



Latch Address 8 

Latch Address 6 

Latch Address 5 

+5 Vdc 

Latch Address 4 

KEY 

Data Bit 16 

Data Bit 18 

Ground 

Data Bit 21 

Data Bit 23 

Data Bit 24 

Ground 

Data Bit 27 

KEY 

Data Bit 29 

+5 Vdc 

+5 Vdc 

-MAKx 



- B1 


A1 - 


- B2 


A2- 


- B3 


A3- 


- B4 


A4- 


- B5 


A5- 


- B6 


A6- 


- B7 


A7- 


- B8 


A8- 


- B9 


A9- 


- B10 


A10- 


- B11 


A11 - 


- B12 


A12- 


- B13 


A13- 


- B14 


A14- 


- B15 


A15- 


- B16 


A16- 


- B17 


A17- 


- B18 


A18- 


- B19 


A19- 


- B20 


A20- 


- B21 


A21 - 


- B22 


A22- 


- B23 


A23- 


- B24 


A24- 


- B25 


A25- 


- B26 


A26- 


- B27 


A27- 


- B28 


A28- 


- B29 


A29- 


- B30 


A30- 


- B31 


A31 - 



MEMCS16 


- D1 


C1 - 


-I/OCS16 


- D2 


C2- 


IRQ 10 


- D3 


C3- 


IRQ 11 


- D4 


C4- 


IRQ 12 


- D5 


C5- 


IRQ 15 


- D6 


C6- 


IRQ 14 


- D7 


C7- 


-DACK 


- D8 


C8- 


DRQO 


- D9 


C9- 


-DACK 5 


- D10 


C10- 


DRQ5 


- D11 


C11 - 


-DACK 6 


- D12 


C12- 


DRQ6 


- D13 


C13- 


-DACK 7 


- D14 


C14- 


DRQ7 


- D15 


C15- 


+5 Vdc 


- D16 


C16- 


-Master 


- D17 


C17- 


Ground 


- D18 


C18- 




- D19 


C19- 



Upper Signal 


Lower Signal 


-I/O CH CHK 


-CMD 


Data Bit 7 


-START 


Data Bit 6 


EXRDY 


Data Bit 5 


-EX32 


Data Bit 4 


Ground 


Data Bit 3 


KEY 


Data Bit 2 


-EX16 


Data Bit 1 


-SLBURST 


Data Bit 


-MSBURST 


-I/O CH RDY 


W-R 


AEN 


Ground 


Address 19 


Reserved 


Address 18 


Reserved 


Address 17 


Reserved 


Address 16 


Ground 


Address 15 


KEY 


Address 14 


-BE1 


Address 13 


Latch Address 31 


Address 12 


Ground 


Address 1 1 


-Latch Address 30 


Address 10 


-Latch Address 28 


Address 9 


-Latch Address 27 


Address 8 


-Latch Address 25 


Address 7 


Ground 


Address 6 


KEY 


Address 5 


Latch Address 15 


Address 4 


Latch Address 13 


Address 3 


Latch Address 12 


Address 2 


Latch Address 1 1 


Address 1 


Ground 


Address 


Latch Address 9 




-SBHE 

Latch Address 23 
Latch Address 22 
Latch Address 21 
Latch Address 20 
Latch Address 19 
Latch Address 18 
Latch Address 17 
-MEMR 
-MEMW 



Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 
Data Bi 



it 8 
it 9 
it 10 
it 11 
it 12 
it 13 
it 14 
it 15 



Latch Address 7 

Ground 

Latch Address 4 

Latch Address 3 

Ground 

KEY 

Data Bit 17 

Data Bit 19 

Data Bit 20 

Data Bit 22 

Ground 

Data Bit 25 

Data Bit 26 

Data Bit 28 

KEY 

Ground 

Data Bit 30 

Data Bit 31 

-MREQx 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



Figure 5.15 

Pinouts for the EISA bus. 



102 



Chapter 5 — Bus Slots and I/O Cards 



CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


n n 


CD 


CD 




CD 


CD 


CD CD 
CD CD 


CD 


CD 


CD CD 


CD 


CIS) 


m> CD 


CD 


CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


CD CD 


CD 


CD 


CD C® 


c3> 


CO) 


n n 


CD 


CD 


CD CD 


CD 


35) 


C® CD 


c® 


CD 


CD CD 


© 


@) 


® © 


CSB) 


<a> 


© CD 


© 


c?D 


@ CSS) 


Cg) 


© 


© © 


© 


© 


© © 


© 


© 


izzi n 


eg© 


© 


© © 


© 


© 


(25 © 


© 


© 


(SB) CSD 


© 


© 


© CSD 


© 


© 


® <3D 


© 


© 


CD® 


(335 



CD 


CD 


®cn 


®cn 


^cs^ 


<^CD 


^CD 


^CD 


^CD 


^CD 


^rr> 


^CD 


^CD 


^CD 


CSJ^ 


^CD 


®CD 


®CD 


<® CD 


®CD 


®® 


®CD 


^cfD 


®C3D 


®@ 


®CD 


®® 


®® 






C14) 


CD 


®© 


®© 


® 3D 


®CD 


®© 


^CTT) 


®® 


®® 



Figure 5.16 

The card connector for the EISA bus. 



Types of I/O Buses 103 

Bus Mastering. EISA use a technology called bus mastering to speed the system. In 
essence, a bus master is an adapter with its own processor that can execute operations 
independently of the CPU. To work properly, bus-mastering technology relies on an EISA 
arbitration unit, most often called an integrated system peripheral (ISP) chip. The ISP 
enables a bus-mastered board to temporarily take exclusive control of the system, as 
though the board were the entire system. Because the board has exclusive control of the 
system, it can perform operations very quickly. A bus-mastering EISA hard drive control- 
ler, for example, achieves much greater data throughput with a fast drive than can con- 
troller cards that are not bus-mastered. 

The ISP determines which device gains control by using a four-level order of priority. 
That order, in terms of priority, is: 

■ System-memory refresh 

■ DMA transfers 

■ The CPU itself 

■ Bus masters 

A bus-mastering adapter board notifies the ISP when it wants control of the system. At 

the earliest possible time (after the higher priorities have been satisfied), the ISP hands vg* 

control over to the bus-mastered board. The boards, in turn, have built-in circuitry to j* 

keep them from taking over the system for periods of time that would interfere with 3 

first-priority operations, such as memory refresh. n 

O 

Automated Setup. EISA systems also use an automated setup to deal with adapter-board i 

interrupts and addressing issues. These issues often cause problems when several differ- O 

ent adapter boards are installed in an ISA system. EISA setup software recognizes poten- 
tial conflicts and automatically configures the system to avoid them. EISA does, however, 5* 
enable you to do your own troubleshooting, as well as to configure the boards through 
jumpers and switches. 



Although automated setup traditionally has not been available in ISA systems, it will be available 
with the advent of Plug and Play systems and components. Plug and Play systems are discussed 
toward the end of this chapter in "The Future: Plug and Play Systems." 



Local Buses 

The I/O buses discussed so far (ISA, MCA, and EISA) have one thing in common: rela- 
tively slow speed. This speed limitation is a carryover from the days of the original PC, 
when the I/O bus operated at the same speed as the processor bus. As the speed of the 
processor bus increased, the I/O bus realized only nominal speed improvements, prima- 
rily from an increase in the bandwidth of the bus. The I/O bus had to remain at a slower 
speed, because the huge installed base of adapter cards could operate only at slower 
speeds. 



104 



Chapter 5 — Bus Slots and I/O Cards 



Figure 5.17 shows a conceptual block diagram of the buses in a computer system. 



CPU 



Processor 

Bus 

(High Speed) 



Built-in 
I/O 



I/O Bus 



(Slow Speed) 



External 
Cache 



Bus 

Controller 

Chips 



Memory 

Bus 

(High Speed) 



I/O Bus 



(Slow Speed) 



Slotted 
I/O 



RAM 



Figure 5.17 

Bus layout in a traditional PC. 

The thought of a computer system running slower than it could is very bothersome to 
some computer users. Even so, the slow speed of the I/O bus is nothing more than a 
nuisance in most cases. You don't need blazing speed to communicate with a keyboard 
or a mouse, for example; you gain nothing in performance. The real problem occurs in 
subsystems in which you need the speed, such as video and disk controllers. 

The speed problem became acute when graphical user interfaces (such as Windows) be- 
came prevalent. These systems required the processing of so much video data that the 
I/O bus became a literal bottleneck for the entire computer system. In other words, it 
did little good to have a CPU that was capable of 66 MHz speed if you could put data 
through the I/O bus at a rate of only 8 MHz. 

An obvious solution to this problem is to move some of the slotted I/O to an area where 
it could access the faster speeds of the processor bus — much the same way as the external 
cache. Figure 5.18 shows this arrangement. 

This arrangement became known as local bus, because external devices (adapter cards) 
now could access the part of the bus that was local to the CPU — the processor bus. Physi- 
cally, the slots provided to tap this new configuration would need to be different from 
existing bus slots, to prevent adapter cards designed for slower buses from being plugged 
into the higher bus speeds that this design made accessible. 

It is interesting to note that the very first 8-bit and 16-bit ISA buses were a form of Local 
Bus architecture. These systems had the processor bus as the main bus, and everything 
ran at full processor speeds. When ISA systems ran faster than 8 MHz, the main ISA bus 



Types of I/O Buses 



105 



had to be decoupled from the processor bus since expansion cards, memory, and so 
forth, could not keep up. In 1992, an extension to the ISA bus called the VESA Local Bus 
started showing up on PC systems, indicating a return to Local Bus architecture. 







CPU 




















Processor 

Bus 

(High Speed) 




External 
Cache 






















Slotted 
I/O 














" 








Built-in 
I/O 


I/O Bus 


BUS 

Controller 
Chips 


I/O Bus 


Slotted 
I/O 


(Slow Speed) 


(Slow Speed) 




Men 

B 

(High J 


nory 

JS 

Speed) 












RAM 






Figure 5.18 

How local bus works. 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



A system does not have to have a local-bus expansion slot to incorporate local-bus technology; 
instead, the local-bus device can be built directly into the motherboard. (In such a case, the local- 
bus-slotted I/O shown earlier in fig. 5.1 1 would in fact be built-in I/O.) This built-in approach to 
local bus is the way the first local-bus systems were designed. 



Local-bus solutions do not replace earlier standards, such as ISA; they are designed as an 
extension to existing standards. Therefore, a typical system is based on ISA or EISA and 
has one or more local-bus slots available as well. Older cards still are compatible with the 
system, but high-speed adapter cards can take advantage of the local-bus slots as well. 

Local-bus systems are especially popular with users of Windows and OS/2, because these 
slots are used for special 32-bit video accelerator cards that greatly speed the repainting 
of the graphics screens used in those operating systems. The performance of Windows 
and OS/2 suffers greatly from bottlenecks in even the best VGA cards connected to an 
ISA or EISA bus. 



106 Chapter 5— Bus Slots and I/O Cards 

VESA Local Bus. The VESA Local Bus was the most popular local bus design from its 
debut in August, 1992 through 1994. It was created by the VESA committee, a nonprofit 
organization founded by NEC to further development of video display and bus stan- 
dards. In a similar fashion to how EISA evolved, NEC had done most of the work on the 
VL-bus (as it would be called), and after founding the nonprofit VESA committee, it 
turned over future development to VESA. At first, the local-bus slot seemed primarily 
designed to be used for video cards. Improving video performance was a top priority at 
NEC to help sell its high-end displays as well as its own PC systems. By 1991, video per- 
formance had become a real bottleneck in most PC systems. 

The Video Electronics Standards Association (VESA) developed a standardized local-bus 
specification known as VESA Local Bus or simply VL-Bus. As in earlier local-bus imple- 
mentations, the VL-Bus slot offers direct access to system memory at the speed of the 
processor itself. The VL-Bus can move data 32 bits at a time, enabling data to flow be- 
tween the CPU and a compatible video subsystem or hard drive at the full 32-bit data 
width of the 486 chip. The maximum rated throughput of the VL-Bus is 128M to 132M 
per second. In other words, local bus went a long way toward removing the major bottle- 
necks that existed in earlier bus configurations. 



$m 



On the Web 



This Web site provides a listing for the VESA standards and modifications being 
considered: 

http://www.vesa.org/ 

Additionally, VL-Bus offers manufacturers of hard-drive interface cards an opportunity to 
overcome another traditional bottleneck: the rate at which data can flow between the 
hard drive and the CPU. The average 16-bit IDE drive and interface can achieve through- 
put of up to 5M per second, whereas VL-Bus hard drive adapters for IDE drives are touted 
as providing throughput of as much as 8M per second. In real-world situations, the true 
throughput of VL-Bus hard drive adapters is somewhat less than 8M per second, but VL- 
Bus still provides a substantial boost in hard-drive performance. 

Despite all the benefits of the VL-Bus (and, by extension, of all local buses), this technol- 
ogy has a few drawbacks, which are described in the following list: 

■ Dependence on a 486 CPU. The VL-Bus inherently is tied to the 486 processor bus. 
This bus is quite different from that used by Pentium processors (and probably 
from those that will be used by future CPUs). A VL-Bus that operates at the full 
rated speed of a Pentium has not been developed, although stopgap measures (such 
as stepping down speed or developing bus bridges) are available. Unfortunately, 
these result in poor performance. Some systems have been developed with both 
VL-Bus and PCI slots, but because of design compromises, performance often 
suffers. 

■ Speed limitations. The VL-Bus specification provides for speeds of up to 66 MHz on 
the bus, but the electrical characteristics of the VL-Bus connector limit an adapter 
card to no more than 40 to 50 MHz. In practice running the VL-Bus at speeds over 
33 MHz causes many problems, so 33 MHz has become the acceptable speed limit. 
Systems that use faster processor bus speeds must buffer and step down the clock 



Types of I/O Buses 107 

on the VL-Bus or add wait states. Note that if the main CPU uses a clock modifier 
(such as the kind that doubles clock speeds), the VL-Bus uses the unmodified CPU 
clock speed as its bus speed. 

■ Electrical limitations. The processor bus has very tight timing rules, which may vary 
from CPU to CPU. These timing rules were designed for limited loading on the bus, 
meaning that the only elements originally intended to be connected to the local 
bus are elements such as the external cache and the bus controller chips. As you 
add more circuitry, you increase the electrical load. If the local bus is not imple- 
mented correctly, the additional load can lead to problems such as loss of data 
integrity and timing problems between the CPU and the VL-Bus cards. 

■ Card limitations. Depending on the electrical loading of a system, the number of 
VL-Bus cards is limited. Although the VL-Bus specification provides for as many as 
three cards, this can be achieved only at clock rates of up to 40 MHz with an other- 
wise low system-board load. As the system-board load increases and the clock rate 
increases, the number of cards supported decreases. Only one VL-Bus card can be 
supported at 50 MHz with a high system-board load. In practice, these limits could 
not usually be reached without problems. 

The VL-Bus did not seem to be a well-engineered concept. The design was simple indeed; 
just take the pins from the 486 processor and run them out to a card connector socket. 
In other words, the VL-Bus is essentially the raw 486 processor bus. This allowed a very 
inexpensive design, since no additional chipsets or interface chips were required. A 3 

motherboard designer could add VL-Bus slots to its 486 motherboards very easily and at q 

a very low cost. This is why these slots appeared on virtually all 486 system designs over- 
night. 

3 

Unfortunately the 486 processor bus was not designed to have multiple devices (called 3 

loads) plugged into it at one time. Problems arose with timing glitches caused by the «> 

capacitance introduced into the circuit by different cards. Since the VL-Bus ran at the 
same speed as the processor bus, different processor speeds meant different bus speeds 
and full compatibility was difficult to achieve. Although the VL-Bus could be adapted to 
other processors, including the 386 or even the Pentium, it was designed for the 486, and 
worked best as a 486 solution only. Despite the low cost, after a new bus called PCI (Pe- 
ripheral Component Interconnect) appeared, VL-Bus fell into disfavor very quickly. It 
never did catch on with Pentium systems, and there is little or no further development 
of the VL-Bus in the PC industry. I would not recommend purchasing VL-Bus cards or 
systems today. 

For a used system, or as an inexpensive upgrade for an older system, VL-Bus might be 
appropriate and can provide an acceptable solution for high-speed computing. 

Physically, the VL-Bus slot is an extension of the slots used for whatever type of base 
system you have. If you have an ISA system, the VL-Bus is positioned as an extension of 
your existing 16-bit ISA slots. Likewise, if you have an EISA system or MCA system, the 
VL-Bus slots are extensions of those existing slots. Figure 5.19 shows how the VL-Bus 
slots could be situated in an ISA system. The VESA extension has 112 contacts and uses 
the same physical connector as the MCA bus. 



tf 



108 



Chapter 5 — Bus Slots and I/O Cards 



The VL-Bus adds a total 116 pin locations to the bus connectors that your system already has. 
Table 5.2 lists the pinouts for only the VL-Bus connector portion of the total connector. 



~N 



> 



Regular 
Slots 



J 



CPU 





) 



VL-Bus 
Slots 



Figure 5.19 

An example of VL-Bus slots in an ISA system. 

(For pins for which two purposes are listed, the second purpose applies when the card is in 
64-bit transfer mode.) 



Table 5.2 Pinouts for the VL-Bus 



Pin Signal Name 



Pin 



Signal Name 



Bl 
B2 



Data 
Data 2 



A1 
A2 



Data 1 
Data 3 



Types of I/O Buses 



109 



Pin Signal Name 



Pin 



Signal Name 



B3 


Data 4 


B4 


Data 6 


B5 


Data 8 


B6 


Ground 


B7 


Data 1 


B8 


Data 1 2 


B9 


VCC 


BIO 


Data 1 4 


B11 


Data 1 6 


B12 


Data 1 8 


B13 


Data 20 


B14 


Ground 


B15 


Data 22 


B16 


Data 24 


B17 


Data 26 


B18 


Data 28 


B19 


Data 30 


B20 


VCC 


B21 


Address 31 or Data 63 


B22 


Ground 


B23 


Address 29 or Data 61 


B24 


Address 27 or Data 59 


B25 


Address 25 or Data 57 


B26 


Address 23 or Data 55 


B27 


Address 21 or Data 53 


B28 


Address 1 9 or Data 51 


B29 


Ground 


B30 


Address 1 7 or Data 49 


B31 


Address 1 5 or Data 47 


B32 


VCC 


B33 


Address 1 3 or Data 45 


B34 


Address 1 1 or Data 43 


B35 


Address 9 or Data 41 


B36 


Address 7 or Data 39 


B37 


Address 5 or Data 37 


B38 


Ground 


B39 


Address 3 or Data 35 


B40 


Address 2 or Data 34 


B41 


Unused or LBS64# 


B42 


Reset 



A3 


Ground 




A4 


Data 5 




A5 


Data 7 




A6 


Data 9 




A7 


Data 1 1 




A8 


Data 1 3 




A9 


Data 1 5 




A10 


Ground 




All 


Data 1 7 




A12 


VCC 




A13 


Data 1 9 




A14 


Data 21 




A15 


Data 23 




A16 


Data 25 




A17 


Ground 




A18 


Data 27 




A19 


Data 29 




A20 


Data 31 




A21 


Address 30 or Data 62 




A22 


Address 28 or Data 60 




A23 


Address 26 or Data 58 




A24 


Ground 




A25 


Address 24 or Data 56 




A26 


Address 22 or Data 54 




A27 


VCC 




A28 


Address 20 or Data 52 




A29 


Address 18 or Data 50 




A30 


Address 1 6 or Data 48 




A31 


Address 1 4 or Data 46 




A32 


Address 12 or Data 44 




A33 


Address 1 or Data 42 




A34 


Address 8 or Data 40 




A35 


Ground 




A36 


Address 6 or Data 38 




A37 


Address 4 or Data 36 




A38 


Write Back 




A39 


Byte Enable or 4 




A40 


VCC 




A41 


Byte Enable 1 or 5 




A42 


Byte Enable 2 or 6 


(continues) 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



110 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.2 Continued 



Pin 


Signal Name 


Pin 


Signal Name 


B43 


Data/Code Status 


A43 


Ground 


B44 


Memory-I/O Status or Data 33 


A44 


Byte Enable 3 or 7 


B45 


Write/Read Status or Data 32 


A45 


Address Data Strobe 


B46 


Access key 


A46 


Access key 


B47 


Access key 


A47 


Access key 


B48 


Ready Return 


A48 


Local Ready 


B49 


Ground 


A49 


Local Device 


B50 


IRQ 9 


A50 


Local Request 


B51 


Burst Ready 


A51 


Ground 


B52 


Burst Last 


A52 


Local Bus Grant 


B53 


IDO 


A53 


VCC 


B54 


ID1 


A54 


ID2 


B55 


Ground 


A55 


ID3 


B56 


Local Clock 


A56 


ID4orACK64# 


B57 


vcc 


A57 


Unused 


B58 


Local Bus Size 1 6 


A58 


Loc/Ext Address Data Strobe 



Figure 5.20 shows the locations of the pins. 




Toward Main 

I/O Bus 

Connector 



Figure 5.20 

The card connector for the VL-Bus. 

The PCI Bus. In early 1992, Intel spearheaded the creation of another industry group 
with the same goals as the VESA group in relation to the PC bus. Recognizing the need to 
overcome weaknesses in the ISA and EISA buses, the PCI Special Interest Group was 
formed. 

PCI is an acronym for peripheral component interconnect bus. The PCI bus specification, 
released in June 1992 and updated in April 1993, redesigned the traditional PC bus by 
inserting another bus between the CPU and the native I/O bus by means of bridges. 
Rather than tap directly into the processor bus, with its delicate electrical timing (as was 
done in local bus and VL-Bus), a new set of controller chips was developed to extend the 
bus, as shown in figure 5.21. 

The PCI bus often is called a mezzanine bus because it adds another layer to the tradi- 
tional bus configuration. PCI bypasses the standard I/O bus; it uses the system bus to 



Types of I/O Buses 



111 



increase the bus clock speed and take full advantage of the CPU's data path. Systems that 
integrate the PCI bus became available in mid-1993 and have since become the mainstay 
high-end systems. 




Figure 5.21 

Conceptual diagram of the PCI bus. 

Although the PCI bus is the clear choice for Pentium-based systems, some critics have 
contended that for 486 systems, the VL-Bus is better because it is cheaper to implement. 
These critics base their contention on the fact that extra chips and pins are necessary to 
implement the mezzanine configuration inherent to PCI. This argument is incomplete, 
however; in reality, connecting an I/O chip to the VL-Bus requires almost twice as many 
pins as connecting it to the PCI bus does (88, compared with 47). Therefore, PCI versions 
of chips (the ones built into the motherboard) should be less expensive than the VL-Bus 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



Information is transferred across the PCI bus at 33 MHz, at the full data width of the 
CPU. When the bus is used in conjunction with a 32-bit CPU, the bandwidth is 132M 
per second, as the following formula shows: 

33 MHz x 32 bits = 1,056 megabits/second 

1,056 megabits/second -=- 8 = 132M/second 



When the bus is used in future 64-bit implementations, the bandwidth doubles, mean- 
ing that you can transfer data at speeds up to 264M per second. Real-life data-transfer 
speeds necessarily will be lower, but still much faster than anything else that is currently 
available. Part of the reason for this faster real-life throughput is the fact that the PCI bus 



112 



Chapter 5 — Bus Slots and I/O Cards 



can operate concurrently with the processor bus; it does not supplant it. The CPU can be 
processing data in an external cache while the PCI bus is busy transferring information 
between other parts of the system — a major design benefit of the PCI bus. 

A PCI adapter card uses a standard MCA connector, just like the VL-Bus. This connector 
can be identified within a computer system because it typically is offset from the normal 
ISA, MCA, or EISA connectors (see fig. 5.22 for an example). The size of a PCI card can be 
the same as that of the cards used in the system's normal I/O bus. 



J 



PCI Slots 



V_ 



J 



ISA or 
EISA Slots 



Figure 5.22 

Possible configuration of PCI slots in relation to ISA or EISA slots. 

The PCI specification identifies three board configurations, each designed for a specific 
type of system with specific power requirements. The 5-volt specification is for stationary 
computer systems, the 3.3-volt specification is for portable machines, and the universal 
specification is for motherboards and cards that work in either type of system. 

Table 5.3 shows the 5-volt PCI pinouts, and figure 5.23 shows the pin locations. Table 
5.4 shows the 3.3-volt PCI pinouts; the pin locations are indicated in figure 5.24. Finally, 
table 5.5 shows the pinouts, and figure 5.25 shows the pin locations, for a universal PCI 
slot and card. Notice that each figure shows both the 32-bit and 64-bit variations on the 
respective specifications. 



Types of I/O Buses 



113 



If the PCI card supports only 32 data bits, it needs only pins B1/A1 through B62/A62. Pins B63/ 
A63 through B94/A94 are used only if the card supports 64 data bits. 



Table 5.3 Pinouts for a 5 Volt PCI Bus 



Pin Signal Name Pin 



Signal Name 



Bl 


-12V 


B2 


Test Clock 


B3 


Ground 


B4 


Test Data Output 


B5 


+5V 


B6 


+5V 


B7 


Interrupt B 


B8 


Interrupt D 


B9 


PRSNT1# 


BIO 


Reserved 


B11 


PRSNT2# 


B12 


Ground 


B13 


Ground 


B14 


Reserved 


B15 


Ground 


B16 


Clock 


B17 


Ground 


B18 


Request 


B19 


+5V I/O 


B20 


Address 31 


B21 


Address 29 


B22 


Ground 


B23 


Address 27 


B24 


Address 25 


B25 


+3.3V 


B26 


C/BE3 


B27 


Address 23 


B28 


Ground 


B29 


Address 21 


B30 


Address 1 9 


B31 


+3.3V 


B32 


Address 1 7 


B33 


C/BE2 



Al 


Test Reset 




A2 


+12V 




A3 


Test Mode Select 




A4 


Test Data Input 




A5 


+5V 




A6 


Interrupt A 




A7 


Interrupt C 




A8 


+5V 




A9 


Reserved 




A10 


+5V I/O 




A11 


Reserved 




A12 


Ground 




A13 


Ground 




A14 


Reserved 




A15 


Reset 




A16 


+5V I/O 




A17 


Grant 




A18 


Ground 




A19 


Reserved 




A20 


Address 30 




A21 


+3.3V 




A22 


Address 28 




A23 


Address 26 




A24 


Ground 




A25 


Address 24 




A26 


Init Device Select 




A27 


+3.3V 




A28 


Address 22 




A29 


Address 20 




A30 


Ground 




A31 


Address 1 8 




A32 


Address 1 6 




A33 


+3.3V 


(continues) 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



114 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.3 Continued 



Pin Signal Name 



Pin 



Signal Name 



B34 


Ground 


B35 


Initiator Ready 


B36 


+3.3V 


B37 


Device Select 


B38 


Ground 


B39 


Lock 


B40 


Parity Error 


B41 


+3.3V 


B42 


System Error 


B43 


+3.3V 


B44 


C/BE1 


B45 


Address 14 


B46 


Ground 


B47 


Address 1 2 


B48 


Address 1 


B49 


Ground 


B50 


Access key 


B51 


Access key 


B52 


Address 8 


B53 


Address 7 


B54 


+3.3V 


B55 


Address 5 


B56 


Address 3 


B57 


Ground 


B58 


Address 1 


B59 


+5V I/O 


B60 


Acknowledge 64-bit 


B61 


+5V 


B62 


+5V 




Access key 


B63 


Reserved 


B64 


Ground 


B65 


C/BE6 


B66 


C/BE4 


B67 


Ground 


B68 


Address 63 


B69 


Address 61 


B70 


+5V I/O 


B71 


Address 59 


B72 


Address 57 



A34 


Cycle Frame 


A35 


Ground 


A36 


Target Ready 


A37 


Ground 


A38 


Stop 


A39 


+3.3V 


A40 


Snoop Done 


A41 


Snoop Backoff 


A42 


Ground 


A43 


PAR 


A44 


Address 15 


A45 


+3.3V 


A46 


Address 1 3 


A47 


Address 1 1 


A48 


Ground 


A49 


Address 9 


A50 


Access key 


A51 


Access key 


A52 


C/BEO 


A53 


+3.3V 


A54 


Address 6 


A55 


Address 4 


A56 


Ground 


A57 


Address 2 


A58 


Address 


A59 


+5V I/O 


A60 


Request 64-bit 


A61 


+5V 


A62 


+5V 




Access key 


A63 


Ground 


A64 


C/BE7 


A65 


C/BE5 


A66 


+5V I/O 


A67 


Parity 64-bit 


A68 


Address 62 


A69 


Ground 


A70 


Address 60 


A71 


Address 58 


A72 


Ground 



Types of I/O Buses 



115 



Pin Signal Name 



Pin 



Signal Name 



B73 


Ground 


B74 


Address 55 


B75 


Address 53 


B76 


Ground 


B77 


Address 51 


B78 


Address 49 


B79 


+5V I/O 


B80 


Address 47 


B81 


Address 45 


B82 


Ground 


B83 


Address 43 


B84 


Address 41 


B85 


Ground 


B86 


Address 39 


B87 


Address 37 


B88 


+5V I/O 


B89 


Address 35 


B90 


Address 33 


B91 


Ground 


B92 


Reserved 


B93 


Reserved 


B94 


Ground 



A73 


Address 56 


A74 


Address 54 


A75 


+5V I/O 


A76 


Address 52 


A77 


Address 50 


A78 


Ground 


A79 


Address 48 


A80 


Address 46 


A81 


Ground 


A82 


Address 44 


A83 


Address 42 


A84 


+5V I/O 


A85 


Address 40 


A86 


Address 38 


A87 


Ground 


A88 


Address 36 


A89 


Address 34 


A90 


Ground 


A91 


Address 32 


A92 


Reserved 


A93 


Ground 


A94 


Reserved 





tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



32-bit Connector 



















B63 A63 
B94 A94 




B52 A52 
B62 A62 




B1 A1 
B49 A49 



















Rear 

of the 

Computer 



64-bit Connector 



Figure 5.23 

The 5-voIt PCI slot and card configuration. 



116 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.4 Pinouts for a 3.3 Volt PCI Bus 



Pin Signal Name 



Pin 



Signal Name 



Bl 


-12V 


B2 


Test Clock 


B3 


Ground 


B4 


Test Data Output 


B5 


+5V 


B6 


+5V 


B7 


Interrupt B 


B8 


Interrupt D 


B9 


PRSNT1# 


B10 


Reserved 


B11 


PRSNT2# 


B12 


Access key 


B13 


Access key 


B14 


Reserved 


B15 


Ground 


B16 


Clock 


B17 


Ground 


B18 


Request 


B19 


+3.3V 


B20 


Address 31 


B21 


Address 29 


B22 


Ground 


B23 


Address 27 


B24 


Address 25 


B25 


+3.3V 


B26 


C/BE3 


B27 


Address 23 


B28 


Ground 


B29 


Address 21 


B30 


Address 1 9 


B31 


+3.3V 


B32 


Address 1 7 


B33 


C/BE2 


B34 


Ground 


B35 


Initiator Ready 


B36 


+3.3V 


B37 


Device Select 


B38 


Ground 


B39 


Lock 


B40 


Parity Error 



A1 


Test Reset 


A2 


+12V 


A3 


Test Mode Select 


A4 


Test Data Input 


AS 


+5V 


A6 


Interrupt A 


A7 


Interrupt C 


A8 


+5V 


A9 


Reserved 


A10 


+3.3V 


A11 


Reserved 


A12 


Access key 


A13 


Access key 


A14 


Reserved 


A15 


Reset 


A16 


+3.3V 


A17 


Grant 


A18 


Ground 


A19 


Reserved 


A20 


Address 30 


A21 


+3.3V 


A22 


Address 28 


A23 


Address 26 


A24 


Ground 


A25 


Address 24 


A26 


Init Device Select 


A27 


+3.3V 


A28 


Address 22 


A29 


Address 20 


A30 


Ground 


A31 


Address 1 8 


A32 


Address 1 6 


A33 


+3.3V 


A34 


Cycle Frame 


A35 


Ground 


A36 


Target Ready 


A37 


Ground 


A38 


Stop 


A39 


+3.3V 


A40 


Snoop Done 



Types of I/O Buses 



117 



Pin Signal Name 



Pin 



Signal Name 



B41 


+3.3V 


B42 


System Error 


B43 


+3.3V 


B44 


C/BE1 


B45 


Address 14 


B46 


Ground 


B47 


Address 1 2 


B48 


Address 1 


B49 


Ground 


B50 


Ground 


B51 


Ground 


B52 


Address 8 


B53 


Address 7 


B54 


+3.3V 


B55 


Address 5 


B56 


Address 3 


B57 


Ground 


B58 


Address 1 


B59 


+3.3V 


B60 


Acknowledge 64-bit 


B61 


+5V 


B62 


+5V 




Access key 


B63 


Reserved 


B64 


Ground 


B65 


C/BE6 


B66 


C/BE4 


B67 


Ground 


B68 


Address 63 


B69 


Address 61 


B70 


+3.3V 


B71 


Address 59 


B72 


Address 57 


B73 


Ground 


B74 


Address 55 


B75 


Address 53 


B76 


Ground 


B77 


Address 51 


B78 


Address 49 


B79 


+3.3V 



A41 


Snoop Backoff 




A42 


Ground 




A43 


PAR 




A44 


Address 15 




A45 


+3.3V 




A46 


Address 1 3 




A47 


Address 1 1 




A48 


Ground 




A49 


Address 9 




A50 


Ground 




A51 


Ground 




A52 


C/BEO 




A53 


+3.3V 




A54 


Address 6 




A55 


Address 4 




A56 


Ground 




A57 


Address 2 




A58 


Address 




A59 


+3.3V 




A60 


Request 64-bit 




A61 


+5V 




A62 


+5V 
Access key 




A63 


Ground 




A64 


C/BE7 




A65 


C/BE5 




A66 


+3.3V 




A67 


Parity 64-bit 




A68 


Address 62 




A69 


Ground 




A70 


Address 60 




A71 


Address 58 




A72 


Ground 




A73 


Address 56 




A74 


Address 54 




A75 


+3.3V 




A76 


Address 52 




A77 


Address 50 




A78 


Ground 




A79 


Address 48 


(continues) 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



118 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.4 Continued 



Pin Signal Name 



Pin 



Signal Name 



B80 


Address 47 


B81 


Address 45 


B82 


Ground 


B83 


Address 43 


B84 


Address 41 


B85 


Ground 


B86 


Address 39 


B87 


Address 37 


B88 


+3.3V 


B89 


Address 35 


B90 


Address 33 


B91 


Ground 


B92 


Reserved 


B93 


Reserved 


B94 


Ground 



Address 


46 


Ground 




Address 


44 


Address 


42 


+3.3V 




Address 


40 


Address 


38 


Ground 




Address 


36 


Address 


34 


Ground 




Address 


32 


Reserved 


Ground 




Reserved 




32-bit Connector 



Rear 

of the 

Computer 




64-bit Connector 



Figure 5.24 

The 3.3-volt PCI slot and card configuration. 



Table 5.5 Pinouts for a Universal PCI Bus 



Pin Signal Name 



Pin 



Signal Name 



Bl 


-12V 


B2 


Test Clock 


B3 


Ground 


B4 


Test Data Output 


B5 


+5V 



Al 


Test Reset 


A2 


+12V 


A3 


Test Mode Select 


A4 


Test Data Input 


A5 


+5V 



Types of I/O Buses 



119 



Pin Signal Name 



Pin 



Signal Name 



B7 


Interrupt B 


B8 


Interrupt D 


B9 


PRSNT1# 


B10 


Reserved 


B11 


PRSNT2# 


B12 


Access key 


B13 


Access key 


B14 


Reserved 


B15 


Ground 


B16 


Clock 


B17 


Ground 


B18 


Request 


B19 


+VI/O 


B20 


Address 31 


B21 


Address 29 


B22 


Ground 


B23 


Address 27 


B24 


Address 25 


B25 


+3.3V 


B26 


C/BE3 


B27 


Address 23 


B28 


Ground 


B29 


Address 21 


B30 


Address 1 9 


B31 


+3.3V 


B32 


Address 1 7 


B33 


C/BE2 


B34 


Ground 


B35 


Initiator Ready 


B36 


+3.3V 


B37 


Device Select 


B38 


Ground 


B39 


Lock 


B40 


Parity Error 


B41 


+3.3V 


B42 


System Error 


B43 


+3.3V 


B44 


C/BE1 


B45 


Address 1 4 



A6 


Interrupt A 




A7 


Interrupt C 




A8 


+5V 




A9 


Reserved 




A10 


+VI/O 




A11 


Reserved 




A12 


Access key 




A13 


Access key 




A14 


Reserved 




A15 


Reset 




A16 


+VI/O 




A17 


Grant 




A18 


Ground 




A19 


Reserved 




A20 


Address 30 




A21 


+3.3V 




A22 


Address 28 




A23 


Address 26 




A24 


Ground 




A25 


Address 24 




A26 


Init Device Select 




A27 


+3.3V 




A28 


Address 22 




A29 


Address 20 




A30 


Ground 




A31 


Address 1 8 




A32 


Address 1 6 




A33 


+3.3V 




A34 


Cycle Frame 




A35 


Ground 




A36 


Target Ready 




A3 7 


Ground 




A38 


Stop 




A39 


+3.3V 




A40 


Snoop Done 




A41 


Snoop Backoff 




A42 


Ground 




A43 


PAR 




A44 


Address 15 




A45 


+3.3V 


(continues) 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



120 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.5 Continued 



Pin Signal Name 



Pin 



Signal Name 



B46 


Ground 


B47 


Address 12 


B48 


Address 1 


B49 


Ground 


B50 


Access key 


B51 


Access key 


B52 


Address 8 


B53 


Address 7 


B54 


+3.3V 


B55 


Address 5 


B56 


Address 3 


B57 


Ground 


B58 


Address 1 


B59 


+5 I/O 


B60 


Acknowledge 64-bit 


B61 


+5V 


B62 


+5V 




Access key 


B63 


Reserved 


B64 


Ground 


B65 


C/BE6 


B66 


C/BE4 


B67 


Ground 


B68 


Address 63 


B69 


Address 61 


B70 


+VI/O 


B71 


Address 59 


B72 


Address 57 


B73 


Ground 


B74 


Address 55 


B75 


Address 53 


B76 


Ground 


B77 


Address 51 


B78 


Address 49 


B79 


+VI/O 


B80 


Address 47 


B81 


Address 45 


B82 


Ground 


B83 


Address 43 


B84 


Address 41 



A46 


Address 1 3 


A47 


Address 1 1 


A48 


Ground 


A49 


Address 9 


A50 


Access key 


A51 


Access key 


A52 


C/BEO 


A53 


+3.3V 


A54 


Address 6 


A55 


Address 4 


A56 


Ground 


A57 


Address 2 


A58 


Address 


A59 


+VI/O 


A60 


Request 64-bit 


A61 


+5V 


A62 


+5V 




Access key 


A63 


Ground 


A64 


C/BE7 


A65 


C/BE5 


A66 


+VI/O 


A67 


Parity 64-bit 


A68 


Address 62 


A69 


Ground 


A70 


Address 60 


A71 


Address 58 


A72 


Ground 


A73 


Address 56 


A74 


Address 54 


A75 


+VI/O 


A76 


Address 52 


A77 


Address 50 


A78 


Ground 


A79 


Address 48 


A80 


Address 46 


A81 


Ground 


A82 


Address 44 


A83 


Address 42 


A84 


+VI/0 



Types of I/O Buses 



121 



Pin Signal Name 



Pin 



Signal Name 



B85 


Ground 


B86 


Address 39 


B87 


Address 37 


B88 


+VI/O 


B89 


Address 35 


B90 


Address 33 


B91 


Ground 


B92 


Reserved 


B93 


Reserved 


B94 


Ground 



Address 40 


Address 38 


Ground 


Address 36 


Address 34 


Ground 


Address 32 


Reserved 


Ground 


Reserved 



















B52 A52 
B62 A62 




B14 A14 
B49 A49 




B1 A1 
B11 A11 



















32-bit Connector 



Rear 

of the 

Computer 
























B63 A63 
B94 A94 




B52 A52 
B62 A62 




B14 A14 
B49 A49 




B1 A1 
B11 A11 























Rear 

of the 

Computer 



64-bit Connector 

Figure 5.25 

The universal PCI slot and card configuration. 

Notice that the universal PCI board specifications effectively combine the 5-volt and 3.3- 
volt specifications. For pins in which the voltage is different, the universal specification 
labels the pin as V I/O. This type of pin represents a special power pin for defining and 
driving the PCI signaling rail. 

Another important feature of PCI is the fact that it was the model for the Intel Plug and 
Play (PnP) specification. This means that PCI cards do not have jumpers and switches, 
and are instead configured through software. True Plug and Play systems will be able to 
automatically configure the adapters, while non-Plug and Play systems with PCI slots 
will have to configure the adapters through a program that is usually a part of the system 
CMOS configuration. Starting in late '95, most PC-compatible systems have included a 
Plug and Play BIOS that allows the automatic PnP configuration. 

The PC-Card (formerly PCMCIA) Bus 

In an effort to give laptop and notebook computers the kind of expandability that 
users have grown used to in desktop systems, the Personal Computer Memory Card 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



122 Chapter 5— Bus Slots and I/O Cards 

International Association (PCMCIA) has established several standards for credit-card-size 
expansion boards that fit into a small slot on laptops and notebooks. 

http://www.intel.com/product/tech-briefs/pcibus.htm 

The PC-Card standards, which were developed by a consortium of more than 300 manu- 

un i ne wen 

facturers (including IBM, Toshiba, and Apple), have been touted as being a revolutionary 
advance in mobile computing, because PC-Card laptop and notebook slots enable you to 
add memory expansion cards, fax/modems, SCSI adapters, local-area-network cards, and 
many other types of devices. The idea behind PC-Card is to enable you to plug any 
manufacturer's PC-Card peripheral into your notebook computer. 

The promise of the 2.1- by 3.4-inch PC-Card 68-pin cards is enormous. There are not 
only memory expansion cards, tiny hard drives, and wireless modems, but also wireless 
LAN connectors, sound cards, CD-ROM controllers, tape backup drives, and a host of 
other peripherals. Current PC-Card devices cost considerably more than the same devices 
for ISA desktop systems. In version 2 of the PCMCIA card standard, devices can be 
longer, which will help manufacturers design some advanced peripheral cards. 

PC-Card has just one drawback: the standard has been followed loosely by manufacturers 
of computers and peripheral devices. If you purchase a laptop or notebook computer 
with an eye toward expandability, you must do your homework before buying the sys- 
tem; some devices that are advertised as being fully PC-Card-compatible do not work 
with other systems that advertise themselves as being fully PC-Card-compatible. If you 
already have a PC-Card-bus computer, the only safe way to buy PC-Card adapters is to 
contact the device manufacturer and determine whether the device has been tested in 
your computer. Before you purchase a PC-Card-compatible computer, you should get 
from the manufacturer a list of devices with which the computer will work. 

In an effort to solve these compatibility problems, the PCMCIA has continued to estab- 
lish standards. At this writing, in fact, four standards exist: PCMCIA Type I through Type 
IV. Even with all the PC-Card types, compatibility problems remain, mostly because 
PCMCIA standards are voluntary; some manufacturers do not fully implement these 
standards before advertising their products as being PCMCIA-compatible. The standards 
have, however, helped make more and more PCMCIA computers and peripherals com- 
patible with one another, as is the case today. 

PC-Card has also been included in the Plug and Play standard. PnP PC-Cards have special 
drivers that can wake up when their adapter is inserted. To be PnP compatible, a PC-Card 
should be hot-swappable, which means you can remove it and install a different card 
without powering down or even rebooting the system. 

http://www.sunsetdirect.com/clients/companyinfo/tdk/Industry.html 

http://www.toshiba.com/tais/csd/support/files/information/faq/pcmcia.faq 



On the Web 



http://www.pc.ibm.com/answerbk/ntu38.html 



Types of I/O Buses 



123 



The following list describes the major features of the PCMCIA standards: 

■ PCMCIA Type I. The original PC-Card standard, now called Type I slots, can handle 
cards that are 3.3mm thick. These slots work only with memory expansion cards. If 
you are shopping for a PCMCIA memory expansion card, check with your system 
manufacturer before buying to ensure that the card you buy will work with your 
system. 

■ PCMCIA Type II. PCMCIA Type II slots accommodate cards that are 5mm thick but 
otherwise have the same physical form factor as Type I cards. PCMCIA Type II slots 
also can be used with Type I cards, because the guides that hold the cards are the 
same thickness; the center portion of the slot provides more room. Type II cards 
support virtually any type of expansion device (such as a modem) or LAN adapter. 

■ PCMCIA Type III. In late 1992, PCMCIA Type III was introduced. These slots, in- 
tended primarily for computers that have removable hard drives, are 10.5mm 
thick, but they also are compatible with Type I and Type II cards. 

■ PCMCIA Type IV. PCMCIA Type IV slots are intended to be used with hard drives 
that are thicker than the 10.5mm Type III slot allows. The exact dimensions of the 
slot have not yet been determined, but Type IV slots are expected to be compatible 
with Types I through III. 

Table 5.6 shows the PCMCIA pinouts. 



Table 5.6 Pinouts for a PCMCIA Card 



Pin Signal Name 



Pin Signal Name 



1 


Ground 


2 


Data 3 


3 


Data 4 


4 


Data 5 


5 


Data 6 


6 


Data 7 


7 


-Card Enable 1 


8 


Address 1 


9 


-Output Enable 


10 


Address 1 1 


11 


Address 9 


12 


Address 8 


13 


Address 1 3 


14 


Address 14 


15 


-Write Enable/-Program 


16 


Ready/-Busy (IREQ) 


17 


+5V 



18 


Vppl 




19 


Address 1 6 




20 


Address 1 5 




21 


Address 1 2 




22 


Address 7 




23 


Address 6 




24 


Address 5 




25 


Address 4 




26 


Address 3 




27 


Address 2 




28 


Address 1 




29 


Address 




30 


Data 




31 


Data 1 




32 


Data 2 




33 


Write Protect (-IOIS1 6) 




34 


Ground 


(continues) 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



124 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.6 Continued 



Pin Signal Name 



Pin Signal Name 



35 


Ground 


36 


-Card Detect 1 


37 


Data 1 1 


38 


Data 1 2 


39 


Data 1 3 


40 


Data 1 4 


41 


Data 1 5 


42 


-Card Enable 2 


43 


Refresh 


44 


RFU (-IOR) 


45 


RFU (-IOW) 


46 


Address 1 7 


47 


Address 1 8 


48 


Address 1 9 


49 


Address 20 


50 


Address 21 


51 


+5V 



52 


Vpp2 


53 


Address 22 


54 


Address 23 


55 


Address 24 


56 


Address 25 


57 


RFU 


58 


RESET 


59 


-WAIT 


60 


RFU (-INPACK) 


61 


-Register Select 


62 


Battery Voltage Detect 2 (-SPKR) 


63 


Battery Voltage Detect 1 (-STSCHG) 


64 


Data 8 


65 


Data 9 


66 


Data 1 


67 


-Card Detect 2 


68 


Ground 



System Resources 



System resources are the communications channels, addresses, and other signals used by 
hardware devices to communicate on the bus. At their lowest level, these resources typi- 
cally include the following: 

■ Memory addresses 

■ IRQ (Interrupt ReQuest) channels 

■ DMA (Direct Memory Access) channels 

■ I/O Port addresses 



I have listed these roughly in the order you would experience problems with them. 
Memory conflicts are perhaps the most troublesome of these, certainly the most difficult 
to fully explain and overcome. These are discussed in Chapter 7 ("Memory"). In this 
chapter we will focus on the others listed here, and in the order you will likely have 
problems with them. IRQs cause more problems than DMA; since they are in much 
higher demand, virtually all cards will use IRQ channels. There are fewer problems with 
DMA channels since few cards use them, and there are usually more than enough chan- 
nels to go around. I/O Ports are used by all hardware devices on the bus, but there are 
technically 64K of them, which means plenty to go around. With all of these resources, 
you have to make sure that a unique card or hardware function uses each resource — they 
cannot or should not be shared. 



1/1 



System Resources 125 

These resources are required and used by many different components of your system. 
Adapter cards need these resources to communicate with your system and to accomplish 
their purposes. Not all adapter cards have the same resource requirements. A serial com- 
munications port, for example, needs an IRQ channel and I/O port address, whereas a 
sound board needs these resources and at least one DMA channel as well. Most network 
cards use a 16K block of memory addresses, an IRQ channel, and an I/O Port address. 

As your system increases in complexity, the chance for resource conflicts increases dra- 
matically. Modern systems with sound cards and network cards can really push the enve- 
lope and can become a configuration nightmare for the un-initiated. So that you can 
resolve conflicts, most adapter cards allow you to modify resource assignments by setting 
jumpers or switches on the cards. Fortunately, in almost all cases there is a logical way to 
configure the system, once you know the rules. 

Interrupts (IRQs) 

Interrupt request channels (IRQs), or hardware interrupts, are used by various hardware 
devices to signal the motherboard that a request must be fulfilled. This procedure is the 
same as a student raising his hand to indicate that he needs attention. 

These interrupt channels are represented by wires on the motherboard and in the slot 
connectors. When a particular interrupt is invoked, a special routine takes over the sys- 
tem, which first saves all the CPU register contents in a stack and then directs the system *< 
to the interrupt vector table. This vector table contains a list of memory addresses that J 
correspond to the interrupt channels. Depending on which interrupt was invoked, the 3 
program corresponding to that channel is run. Q 

The pointers in the vector table point to the address of whatever software driver is used ^ 

to service the card that generated the interrupt. For a network card, for example, the 3 

vector may point to the address of the network drivers that have been loaded to operate 3 

the card; for a hard disk controller, the vector may point to the BIOS code that operates wi 
the controller. 

After the particular software routine finishes performing whatever function the card 
needed, the interrupt-control software returns the stack contents to the CPU registers, 
and the system then resumes whatever it was doing before the interrupt occurred. 

Through the use of interrupts, your system can respond to external events in a timely 
fashion. Each time that a serial port presents a byte to your system, an interrupt is gener- 
ated to ensure that the system reads that byte before another comes in. 

Hardware interrupts are generally prioritized by their numbers; with some exceptions, 
the highest-priority interrupts have the lowest numbers. Higher-priority interrupts take 
precedence over lower-priority interrupts by interrupting them. As a result, several inter- 
rupts can occur in your system concurrently, each interrupt nesting within another. 

If you overload the system — in this case, by running out of stack resources (too many 
interrupts were generated too quickly) — an internal stack overflow error occurs, and your 
system halts. If you experience this type of system error, you can compensate for it by 
using the STACKS parameter in your CONFIG.SYS file to increase the available stack 
resources. 



126 



Chapter 5 — Bus Slots and I/O Cards 



The ISA bus uses edge-triggered interrupt sensing, in which an interrupt is sensed by a 
signal sent on a particular wire located in the slot connector. A different wire corre- 
sponds to each possible hardware interrupt. Because the motherboard cannot recognize 
which slot contains the card that used an interrupt line and therefore generated the 
interrupt, confusion would result if more than one card were set to use a particular inter- 
rupt. Each interrupt, therefore, usually is designated for a single hardware device, and 
most of the time, interrupts cannot be shared. 

A device can be designed to share interrupts, and a few devices allow this; most cannot, 
however, because of the way interrupts are signaled in the ISA bus. Systems with the 
MCA bus use level-sensitive interrupts, which allow complete interrupt sharing to occur. 
In fact, in an MCA system, all boards can be set to the same interrupt with no conflicts 
or problems. The EISA bus can optionally use level-sensitive interrupts which allow shar- 
ing, but only for true EISA cards. For maximum performance, however, interrupts should 
be staggered as much as possible. 

External hardware interrupts often are referred to as maskable interrupts, which simply 
means that the interrupts can be masked or turned off for a short time while the CPU 
is used for other critical operations. It is up to the programmer to manage interrupts 
properly and efficiently for the best system performance. 

Because interrupts usually cannot be shared in an ISA bus system, you often run into 
conflicts and can even run out of interrupts when you are adding boards to a system. If 
two boards use the same IRQ to signal the system, the resulting conflict prevents either 
board from operating properly. The following sections discuss the IRQs that any standard 
devices use, as well as what may be free in your system. 

8-Bit ISA Bus Interrupts. The PC and XT (the systems based on the 8-bit 8086 CPU) 
provide for eight different external hardware interrupts. Table 5.7 shows the typical uses 
for these interrupts, which are numbered through 7. 



Table 5.7 8-Bit ISA Bus Default Interrupt Assignments 



IRQ 



Function 



Bus Slot 






System Timer 


No 


1 


Keyboard Controller 


No 


2 


Available 


Yes (8-bit) 


3 


Serial Port 2 (COM2:) 


Yes (8-bit) 


4 


Serial Port 1 (COM1:) 


Yes (8-bit) 


5 


Hard Disk Controller 


Yes (8-bit) 


6 


Floppy Disk Controller 


Yes (8-bit) 


7 


Parallel Port 1 (LPT1 :) 


Yes (8-bit) 



If you have a system that has one of the original 8-bit ISA buses, you will find that the 
IRQ resources provided by the system present a severe limitation. Installing several de- 
vices that need the services of system IRQs in a PC/XT-type system can be a study in 



System Resources 



127 



frustration, because the only way to resolve the interrupt-shortage problem is to remove 
the adapter board that you need the least. 

16-Bit ISA, EISA, and MCA Bus Interrupts. The introduction of the AT, based on the 
286 processor, was accompanied by an increase in the number of external hardware 
interrupts that the bus would support. The number of interrupts was doubled (to 16) by 
using two Intel 8259 interrupt controllers, piping the interrupts generated by the second 
one through the unused IRQ 2 in the first controller. This arrangement effectively means 
that only 15 IRQ assignments are available, and IRQ 2 effectively became inaccessible. 

By routing all of the interrupts from the 2nd IRQ controller through IRQ 2 on the first, 
all of these new interrupts are assigned a nested priority level between IRQ 1 and IRQ 3. 
Thus IRQ 15 ends up having a higher priority than IRQ 3. Figure 5.26 shows how the 
two 8259 chips were wired to create the cascade through IRQ 2 on the first chip. 

To prevent problems with boards set to use IRQ 2, the AT system designers routed one of 
the new interrupts (IRQ 9) to fill the slot position left open after removing IRQ 2. This 
means that any card you install in a modern system that claims to use IRQ 2 is really 
using IRQ 9 instead. Some cards now label this selection as IRQ 2/9, while others may 
only call it IRQ 2 or IRQ 9. No matter what the labeling says, you must never set two 
cards to use that interrupt! 



8259 PIC (#1 



To CPU -* 




-* From Timer Circuits 
•* From Keyboard Controller 
From FPU «- 



From RTC/CMOS »- - 



From 8-bit slots »- 



From 16-bit slots 



IRQ 8 

IRQ 9 

IRQ 10 

IRQ 11 

■IRQ 12 

■IRQ 13 

■IRQ 14 

IRQ 15 



From 8-bit slots (former IRQ 2 pin position) >~ - 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



CPU = Central Processing Unit 

FPU = Floating Point Unit 

PIC = Programmable Interrupt Controller 

RTC = Real Fime Clock 

CMOS = Complimentary Metal Oxide Semiconductor 

INT = Interrupt (Prioritized)IRQ = Interrupt ReQuest (from the Bus) 



Figure 5.26 

Interrupt controller cascade wiring. 



128 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.8 shows the typical uses for interrupts in the 16-bit ISA, EISA, and MCA buses, 
and lists them in priority order from highest to lowest. 

Because IRQ 2 now is used directly by the motherboard, the wire for IRQ 9 has been 
rerouted to the same position in the slot that IRQ 2 normally would occupy. Therefore, 
any board you install that is set to IRQ 2 actually is using IRQ 9. The interrupt vector 
table has been adjusted accordingly to enable this deception to work. This adjustment to 
the system provides greater compatibility with the PC interrupt structure and enables 
cards that are set to IRQ 2 to work properly. 

Notice that interrupts 0, 1,2, 8, and 13 are not on the bus connectors and are not acces- 
sible to adapter cards. Interrupts 8, 10, 11, 12, 13, 14, and 15 are from the second inter- 
rupt controller and are accessible only by boards that use the 16-bit extension connector, 
because this is where these wires are located. IRQ 9 is rewired to the 8-bit slot connector 
in place of IRQ 2, which means that IRQ 9 replaces IRQ 2 and therefore is available to 
8-bit cards, which treat it as though it were IRQ 2. 



Although the 1 6-bit ISA bus has twice as many interrupts as systems that have the 8-bit ISA bus, 
you still may run out of available interrupts, because only 16-bit adapters can use most of the 
newly available interrupts. 



Table 5.8 16-Bit ISA, EISA, and MCA Default Interrupt Assignments 



IRQ Standard Function 



Bus Slot Card Type 






System Timer 


No 


— 


1 


Keyboard Controller 


No 


— 


2 


2nd IRQ Controller Cascade 


No 


— 


8 


Real-Time Clock 


No 


— 


9 


Network/Available (Appears as IRQ 2) 


Yes 


8/1 6-bit 


10 


Available 


Yes 


16-bit 


11 


SCSI/Available 


Yes 


1 6-bit 


12 


Motherboard Mouse Port/Available 


Yes 


1 6-bit 


13 


Math Coprocessor 


No 


— 


14 


Primary IDE 


Yes 


1 6-bit 


15 


Secondary IDE/Available 


Yes 


16-bit 


3 


Serial Port 2 (COM2:) 


Yes 


8/1 6-bit 


4 


Serial Port 1 (COM1:) 


Yes 


8/1 6-bit 


5 


Sound/Parallel Port 2 (LPT2:) 


Yes 


8/1 6-bit 


6 


Floppy Disk Controller 


Yes 


8/1 6-bit 


7 


Parallel Port 1 (LPT1 :) 


Yes 


8/16-bit 



System Resources 129 

The extra IRQ lines in a 16-bit ISA system are of little help unless the adapter boards that 
you plan to use enable you to configure them for one of the unused IRQs. Some devices 
are hard-wired so that they can use only a particular IRQ. If you have a device that al- 
ready uses that IRQ you must resolve the conflict before installing the second adapter. 
If neither adapter enables you to reconfigure its IRQ use, chances are that you cannot 
use the two devices in the same system. 

IRQ Conflicts. One of the most common areas of IRQ conflict involves serial (COM) 
ports. You may have noticed in the preceding two sections that two IRQs are set aside 
for two COM ports. IRQ 3 is used for COM2, and IRQ 4 is used for COM1. The problem 
occurs when you have more than two serial ports in a system — a situation that is entirely 
possible, because a PC can support up to four COM ports. 

The problems arise here because most people purchase poorly designed COM port boards 
that do not allow IRQ settings other than 3 or 4. What happens is that they end up set- 
ting COM3: to IRQ 4 (sharing it with COM1:), and COM4: to IRQ 3 (sharing it with 
COM2:). This is not acceptable as it will prevent you from using the two COM ports on 
any one of the interrupt channels simultaneously. This was somewhat acceptable under 
plain DOS, since single tasking (running only one program at a time) was the order of 
the day, but is totally unacceptable with Windows and OS/2. 

The proper solution to having more than two COM ports is to purchase COM boards »< 

that allow IRQ settings other than just 3 or 4. As a side note, also make sure that the J? 

COM board you purchase uses the buffered 16550A type UART (Universal Asynchronous 3 

Receiver Transmitter) chip rather than the slow un-buffered 16450 types. One company Q 

providing specialized high quality COM boards is ByteRunner Technologies (see the 3 

vendor list in Appendix B). 

3 
If a device listed in the table is not present, such as the motherboard mouse port (IRQ 2 

12), or parallel port 2 (IRQ 5), then you can consider those interrupts as available. For Jf 

example, a second parallel port is a rarity, and most systems will have a sound card 

installed and set for IRQ 5. 

DMA Channels 

DMA (direct memory access) channels are used by high-speed communications devices 
that must send and receive information at high speed. A serial or parallel port does not 
use a DMA channel, but a sound card or SCSI adapter often does. DMA channels some- 
times can be shared if the devices are not of the type that would need them simulta- 
neously. For example, you can have a network adapter and a tape backup adapter sharing 
DMA channel 1, but you cannot back up while the network is running. To back up dur- 
ing network operation, you must ensure that each adapter uses a unique DMA channel. 

8-Bit ISA Bus DMA Channels. In the 8-bit ISA bus, four DMA channels support high- 
speed data transfers between I/O devices and memory. Three of the channels are avail- 
able to the expansion slots. Table 5.9 shows the typical uses of these DMA channels. 



130 



Chapter 5 — Bus Slots and I/O Cards 



Table 5.9 8-Bit ISA Default DMA-Channel Assignments 



DMA Standard Function 



Bus Slot 



Dynamic RAM Refresh 

1 Available 

2 Floppy disk controller 

3 Hard disk controller 



No 

Yes (8-bit) 
Yes (8-bit) 
Yes (8-bit) 



Because most systems typically have both a floppy and hard disk drive, only one DMA 
channel is available in 8-bit ISA systems. 

16-Bit ISA DMA Channels. Since the introduction of the 286 CPU, the ISA bus has sup- 
ported eight DMA channels, with seven channels available to the expansion slots. Like 
the expanded IRQ lines described earlier in this chapter, the added DMA channels were 
created by cascading a second DMA controller to the first one. DMA channel 4 is used to 
cascade channels through 3 to the microprocessor. Channels through 3 are available 
for 8-bit transfers, and channels 5 through 7 are for 16-bit transfers only. Table 5.10 
shows the typical uses for the DMA channels. 

The only standard DMA channel used in all systems is DMA 2, which is universally used 
by the floppy controller. DMA 4 is not usable, and does not appear in the bus slots. DMA 
channels 1 and 5 are most commonly used by sound cards such as the Sound Blaster 16. 
These cards use both an 8-bit and a 16-bit DMA channel for high-speed transfers. 

Note that although DMA channel appears in a 1 6-bit slot connector extension, and 
therefore can only be used by a 16-bit card, it only does 8-bit transfers! You will not see 
DMA appearing as a choice on most 16-bit cards, since they would not want to be run- 
ning in an 8-bit mode. Most 16-bit cards (like SCSI host adapters) that use DMA channels 
will have their choices limited to DMA 5 through 7. 



Table 5.10 16-Bit ISA, EISA, and MCA Default DMA-Channel Assignments 



DMA 


Standard Function 


Bus Slot 


Card Type 


Transfer 





Available 


Yes 


16-bit 


8-bit 


1 


Sound/Available 


Yes 


8/1 6-bit 


8-bit 


2 


Floppy Disk Controller 


Yes 


8/16-bit 


8-bit 


3 


ECP Parallel/Available 


Yes 


8/16-bit 


8-bit 


4 


1 st DMA Controller Cascade 


No 





16-bit 


5 


Sound/Available 


Yes 


16-bit 


16-bit 


6 


SCSI/Available 


Yes 


16-bit 


16-bit 


7 


Available 


Yes 


16-bit 


1 6-bit 



EISA. Realizing the shortcomings inherent in the way DMA channels are implemented in 
the ISA bus, the creators of the EISA specification created a specific DMA controller for their 
new bus. They increased the number of address lines to include the entire address bus, thus 
allowing transfers anywhere within the address space of the system. Each DMA channel 



System Resources 131 

can be set to run either 8-, 16-, or 32-bit transfers. In addition, each DMA channel can be 
separately programmed to run any of four types of bus cycles when transferring data: 

■ Compatible. This transfer method is included to match the same DMA timing as 
used in the ISA bus. This is done for compatibility reasons; all ISA cards can operate 
in an EISA system in this transfer mode. 

■ Type A. This transfer type compresses the DMA timing by 25 percent over the Com- 
patible method. It was designed to run with most (but not all) ISA cards and still 
yield a speed increase. 

■ Type B. This transfer type compresses timing by 50 percent over the Compatible 
method. Using this method, most EISA cards function properly, but only a few ISA 
cards will be problem-free. 

■ Type C. This transfer method compresses timing by 87.5 percent over the Compat- 
ible method; it is the fastest DMA transfer method available under the EISA specifi- 
cation. No ISA cards will work using this transfer method. 

EISA DMA also allows for special reading and writing operations referred to as scatter 

write and gather read. Scattered writes are done by reading a contiguous block of data 

and writing it to more than one area of memory at the same time. Gathered reads in- ^ 

volve reading from more than one place in memory and writing to a device. These tunc- *S 

tions are often referred to as Buffered Chaining and they increase the throughput of 

DMA operations. " 

MCA. It might be assumed that because MCA is a complete rebuilding of the PC Bus a 

structure that DMA in an MCA environment would be better constructed. This is not so. 

O 
Quite to the contrary, DMA in MCA systems were for the most part all designed around 3 

one DMA controller with the following issues: 3 

VI 

■ It can only connect to two 8-bit data paths. This can only transfer one or two bytes 
per bus cycle. 

■ It is only connected to AO:A23 on the address bus. This means it can only make 
use of the lower 16M of memory. 

■ It runs at 10MHz. 

The inability of the DMA controller to address more than two bytes per transfer severely 
cripples this otherwise powerful bus. 

I/O Port Addresses 

Your computer's I/O ports enable you to attach a large number of important devices to 
your system to expand its capabilities. A printer attached to one of your system's LPT 
(parallel) ports enables you to make a printout of the work on your system. A modem 
attached to one of your system's COM (serial) ports enables you to use telephone lines to 
communicate with computers thousands of miles away. A scanner attached to an LPT 
port or a SCSI host adapter enables you to convert graphics or text to images and type 
that you can use with the software installed on your computer. 



132 



Chapter 5 — Bus Slots and I/O Cards 



Most systems come configured with at least two COM (serial) ports and one LPT (parallel 
printer) ports. The two serial ports are configured as COM1 and COM2, and the parallel 
port is configured as LPT1. The basic architecture of the PC provides for as many as four 
COM ports (1 through 4) and three LPT ports (1 through 3). If you use more than two 
COM ports, make sure that COM3 and COM4 have unique IRQ settings and do not share 
those with COM1 and COM2. Many older boards do not allow unique IRQ settings for 
COM3 and COM4 and should be avoided. 



Theoretically, each of the four COM ports in a system can be used to attach a device, such as a 
mouse or modem, but doing so may lead to resource conflicts. For more information, see the 
discussion of resolving IRQ conflicts later in this chapter. 



Every I/O port in your system uses an I/O address for communication. This address, 
which is in the lower memory ranges, is reserved for communication between the I/O 
device and the operating system. If your system has multiple I/O cards, each card must 
use a different I/O address; if not, your system will not be able to communicate with the 
devices reliably. 

The I/O addresses that your ports use depend on the type of ports. Table 5.11 shows the 
I/O addresses expected by the various standard ports in a PC system. 

Besides your serial and parallel ports, other adapters in your system use I/O addresses. 
Quite truthfully, the I/O addresses for the serial and parallel ports are fairly standard; it 
is unlikely that you will run into problems with them. The I/O addresses used by other 
adapters are not standardized, however, and you may have problems finding a mix of 
port addresses that works reliably. Later in this chapter, in "Resolving Resource Con- 
flicts," you learn some of the techniques that you can use to solve this problem. 



Table 5.11 Standard I/O Addresses for Serial and Parallel Ports 



Port 



Base I/O Address 



COM1 


3F8h 


COM2 


2F8h 


COM3 


3E8h 


COM4 


2E8h 


LPT1 


3BCh or 378h 


LPT2 


378hor278h 


LPT3 


278h only 



Resolving Resource Conflicts 133 

Resolving Resource Conflicts 

The resources in a system are limited. Unfortunately, the demands on those resources 
seem to be unlimited. As you add more and more adapter cards to your system, you will 
find that the potential for resource conflicts increases. If your system does not have a bus 
that resolves conflicts for you (such as an MCA or EISA bus), you need to resolve the 
conflicts manually. 

How do you know whether you have a resource conflict? Typically, one of the devices in 
your system stops working. Resource conflicts can exhibit themselves in other ways, 
though. Any of the following events could be diagnosed as a resource conflict: 

■ A device transfers data inaccurately. 

■ Your system frequently locks up. 

■ Your sound card doesn't sound quite right. 

■ Your mouse doesn't work. 

■ Garbage appears on your video screen for no apparent reason. 

■ Your printer prints gibberish. 

t/i 

■ You cannot format a floppy disk. *< 



■ The PC starts in Safe Mode (Win 95). 
In the following sections, you learn some of the steps that you can take to head off 



n 
3 



n 

o 

resource conflicts or to track them down when they occur. ^ 

O 
3 
A 

3 



Caution 



Be careful in diagnosing resource conflicts; a problem may not be a resource conflict at all, but a 
computer virus. Many computer viruses are designed to exhibit themselves as glitches or as peri- 
odic problems. If you suspect a resource conflict, it may be worthwhile to run a virus check first to 
ensure that the system is clean. This procedure could save you hours of work and frustration. 



Resolving Conflicts Manually 

Unfortunately, the only way to resolve conflicts manually is to take the cover off your 
system and start changing switches or jumper settings on your adapter cards. Each of 
these changes then must be accompanied by a system reboot, which implies that they 
take a great deal of time. This situation brings us to the first rule of resolving conflicts: 
when you set about ridding your system of resource conflicts, make sure that you allow 
a good deal of uninterrupted time. 

Also make sure that you write down your current system settings before you start making 
changes. That way, you will know where you began and can go back to the original con- 
figuration (if necessary). 



1 34 Chapter 5— Bus Slots and I/O Cards 

Finally, dig out the manuals for all your adapter boards; you will need them. If you can- 
not find the manuals, contact the manufacturers to determine what the various jumper 
positions and switch settings mean. 

Now you are ready to begin your detective work. As you try various switch settings and 
jumper positions, keep the following questions in mind; the answers will help you nar- 
row down the conflict areas. 

■ When did the conflict first become apparent? If the conflict occurred after you 
installed a new adapter card, that new card probably is causing the conflict. If the 
conflict occurred after you started using new software, chances are good that the 
software uses a device that is taxing your system's resources in a new way. 

■ Are there two similar devices in your system that do not work? If your modem and 
mouse do not work, for example, chances are good that these devices are conflict- 
ing with each other. 

■ Have other people had the same problem, and if so, how did they resolve it? Public 
forums — such as those on CompuServe, Internet, and America Online — are great 
places to find other users who may be able to help you solve the conflict. 

Whenever you make changes in your system, reboot and see whether the problem per- 
sists. When you believe that you have solved the problem, make sure that you test all 
your software. Fixing one problem often seems to cause another to crop up. The only 
way to make sure that all problems are resolved is to test everything in your system. 

As you attempt to resolve your resource conflicts, you should work with and update a 
system-configuration template, as discussed in the following section. 

Using a System-Configuration Template 

A system-configuration template is helpful, simply because it is easier to remember some- 
thing that is written down than it is to keep it in your head. To create a configuration 
template, all you need to do is start writing down what resources are used by which parts 
of your system. Then, when you need to make a change or add an adapter, you can 
quickly determine where conflicts may arise. 

I like to use a worksheet split into three main areas: one is for Interrupts, another for 
DMA channels, and a middle area for devices that do not use interrupts. Each section 
lists the IRQ or DMA channel on the left and the I/O Port device range on the right. This 
way you get the clearest picture of what resources are used and which ones are available 
in a given system. 

Figure 5.27 shows the system-configuration template I have developed over the years and 
still use almost daily. This type of configuration sheet is resource based, instead of com- 
ponent based. Each row in the template represents a different resource and lists the com- 
ponent using the resource as well as the resources used. The chart has pre-entered all of 
the fixed items in a modern PC, whose configuration cannot be changed. 



Resolving Resource Conflicts 135 



System Resource Worksheet 

PC Make and Model: 

Serial Number: 

Date of Last Revision: 



System Interrupts: I/O Port Addresses: 

- Timer Circuits 040-05F 

1 - Keyboard Controller 060 & 064 

2 - Second 8259 IRQ Controller 0A0-0BF 

8 - Real-Time Clock / CMOS RAM 070-07F 

9 - 

10 - 

11 - 

12 - 



13 - Math Coprocessor (N/A in Bus Slot) 0F0-0FF. 

14 - 

15 - 

3 - 

4 - 




5 - $ 

6 - if 

n 

7 - 3 

Devices not Using Interrupts: I/O Port Addresses: O 

Mono/EGA/VGA Standard Ports 3B0-3BB J 

EGA/VGA Standard Ports 3C0-3CF 

CGA/EGA/VGA Standard Ports 3D0-3DF § 



DMA Channels: 

- 

1 - 

2 - 

3 - 



4 - Cascade DMA Channels 0-3 (N/A in Bus Slot). 

5 - 

6- 

7- 



Figure 5.27 

The system-configuration template. 



1 36 Chapter 5— Bus Slots and I/O Cards 

To fill out this type of chart, you would perform the following steps: 

1 . First enter the default resources used by standard components, such as serial and 
parallel ports, disk controllers, and video. You can use the filled out example I have 
provided to see how most standard devices are configured. 

2. Then enter the default resources used by additional add-on components such as 
Sound cards, SCSI cards, Network cards, proprietary cards, and so forth. 

3. Finally, change any configuration items that are in conflict. Try to leave built-in 
devices at their default settings, as well as sound cards. Other installed adapters 
may have their settings changed, but be sure to document the changes. 

Of course a template like this is best used when first installing components, not after. 
Once you have the template completely filled out to match your system, you can label it 
and keep it with the system. When you add any more devices, the template will be your 
guide as to how any new devices should be configured. 

Figure 5.28 shows is the same template filled out for a typical modern PC system. 

As you can see from this template, only two IRQs and two DMA channels remain avail- 
able. In this example configuration, the following devices were built-in to the 
motherboard: 

Primary and Secondary IDE connectors 

■ Floppy controller 

■ 2 Serial Ports 

■ 1 Parallel Port 

Whether these devices are built-in to the motherboard or on a separate card makes no 
difference, since the resource allocations are the same in either case. All default settings 
are normally used for these devices, and are indicated in the completed configuration. 
Next the accessory cards were configured. In this example, the following cards were 
installed: 

■ SVGA Video card (ATI Mach 64) 

■ Sound card (Creative Labs Sound Blaster 16) 

■ SCSI host adapter (Adaptec AHA-1542CF) 

■ Network interface card (SMC EtherEZ) 



Resolving Resource Conflicts 



137 



System Resource Worksheet 

PC Make and Model: Intel Advanced ZP 

Serial Number: 100000 

Date of Last Revision: 7/5/95 

System Interrupts: 

- Timer Circuits 

1 - Keyboard Controller 

2 - Second 8259 IRQ Controller 

8 - Real-Time Clock / CMOS RAM 

9 - SMC EtherEZ Ethernet card* 

10- 

11 - Adaptec 1542CF SCSI adapter (scanner, tape) 

12- 

13 - Math Coprocessor (N/A in Bus Slot) 

14 - Primary IDE (Hard Disk 1 and 2) 

15 - Secondary IDE (IDE CD-ROM drive) 

3 - Serial Port 2 (COM2: Serial Mouse) 

4 - Serial Port 1 (COM1: External Modem) 

5 - Sound Blaster 16 Audio 

6 - Floppy Controller 

7 - Parallel Port 1 (LPT1: used by Printer) 

Devices not Using Interrupts: 

Mono/EGA/VGA Standard Ports 

EGA/VGA Standard Ports 

CGA/EGA/VGA Standard Ports 

ATI Mach 64 SVGA Additional Ports 

Sound Blaster 16 MIDI Port 

Sound Blaster 16 Game Port (Joystick connector) 

Sound Blaster 16 FM Synthesizer (Music) 



I/O Port Addresses: 

040-05F 

060 & 064 

0A0-0BF 

070-07F 

340-35F 

334-337* 



0F0-0FF 

1F0-1F7 

170-177 

3F8-3FF 

2F8-2FF 

220-233 

3F0-3F7 

378-37F 

I/O Port Addresses: 

3B0-3BB 

3C0-3CF 

3D0-3DF 

102,1CE,1CF,2EC-2EF_ 

330-33 1 

200-207 

388-38B 




tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



DMA Channels: 

- 

1 

2 

3 



Sound Blaster 16 (Low DMA)_ 
Floppy Controller 



Parallel Port 1 (EPP/ECP mode) 

Cascade DMA Channels 0-3 (N/A in Bus Slot) 

Sound Blaster 16 (High DMA) 

Adaptec 1542CF SCSI adapter* 



4 
5 
6 

7- 

*Represents a resource setting that had to be changed to avoid a conflict. 



Figure 5.28 

The same system-configuration template for a typical PC. 



1 38 Chapter 5— Bus Slots and I/O Cards 

It helps to install the cards in this order. Start with the video card, and next add the 
sound card. Due to problems with software that must be configured to the sound card, 
it is best to install it early and make sure only default settings are used. It is better to 
change settings on cards other than the sound card. After the sound card, the SCSI 
adapter was installed; however, the default I/O Port addresses (330-331) and DMA chan- 
nel (DMA 5) used were in conflict with other cards (mainly the sound card). These set- 
tings were changed to their next logical settings, which did not cause a conflict. Finally 
the network card was installed, which also had default settings that conflicted with other 
cards. In this case, the ethernet card came preconfigured to IRQ 3, which was already in 
use by COM2:. The solution was to change the setting, and IRQ 9 was the next logical 
choice in the card's configuration settings. 

Even though this is a fully loaded configuration, only three individual items among all 
of the cards had to be changed to achieve an optimum system configuration. As you can 
see, using a configuration template like the one shown can make what would otherwise 
be a jumble of settings seem to lay out in an easy-to-follow manner. The only real prob- 
lems you will run into once you work with these templates are cards that do not allow 
for enough adjustment in their settings, or cards that are lacking in documentation. As 
you can imagine, you will need the documentation for each adapter card, as well as the 
motherboard, in order to accurately complete a configuration table like the one shown. 

Do not rely too much on software diagnostics, such as MSD.EXE, that claim to be able to 
show hardware settings like IRQ and I/O Port settings. While they can be helpful in cer- 
tain situations, they are often wrong with respect to at least some of the information 
they are displaying about your system. One or two items shown incorrectly can be very 
troublesome if you believe the incorrect information and configure your system based on 
it! Unless your system fully supports Plug and Play (PnP), there is simply no standard 
way for software to determine resource usage in a PC system. In a non-PnP system, these 
programs will instead guess at how things are configured and display these guesses with 
confidence, even though they may be incorrect. 

Heading Off Problems: Special Boards 

A number of devices that you may want to install in a computer system require IRQ lines 
or DMA channels, which means that a world of conflict could be waiting in the box that 
the device comes in. As mentioned in the preceding section, you can save yourself prob- 
lems if you use a system-configuration template to keep track of the way that your sys- 
tem is configured. 

You also can save yourself trouble by carefully reading the documentation for a new 
adapter board before you attempt to install it. The documentation details the IRQ lines 
that the board can use, as well as its DMA-channel requirements. In addition, the docu- 
mentation will detail the adapter's upper-memory needs for ROM and adapter. 

The following sections describe some of the conflicts that you may encounter when you 
install today's most popular adapter boards. Although the list of adapter boards covered 
in these sections is far from comprehensive, the sections serve as a guide to installing 
complex hardware with minimum hassle. Included are tips on sound boards, SCSI host 
adapters, and network adapters. 



Resolving Resource Conflicts 



139 



Sound Boards. Sound cards are probably the biggest single resource hog in your system. 
They usually use at least one IRQ, two DMA channels, and multiple I/O Port address 
ranges. This is because a sound card is actually several different pieces of hardware all on 
one board. Most sound cards are similar to the Sound Blaster 16 from Creative Labs. 

Figure 5.29 shows the default resources used by the components on a typical Sound 
Blaster 16 card. 

As you can see, these cards use quite a few resources. If you take the time to read your 
sound board's documentation and determine its communications-channel needs, com- 
pare those needs to the IRQ lines and DMA channels that already are in use in your sys- 
tem, and then change the settings of the other adapters to avoid conflicts with the sound 
card, your installation will go quickly and smoothly. 



Device 



Interrupt I/O Ports 16-bit DMA 8-bit DMA 



Audio 



IRQ5 



220h-233h DMA 5 



DMA1 



Device 



MIDI Port 

FM Synthesizer 

Game Port 



Interrupt 



330h-331 h 
388h-38Bh 
200h-207h 



Figure 


5.29 




Default 


resources 


for Sound Blaster 16 card. 


U^^l 



The greatest single piece of advice I can give you for installing a sound card is to put the sound 
card in before all other cards, except for video. In other words, let the sound card retain all of its 
default settings; never change a resource setting to prevent a conflict. Instead, always change the 
settings of other adapters when a conflict with the sound card arises. The problem here is that 
many educational and game programs that use sound are very poorly written with respect to 
supporting alternate resource settings on sound cards. Save yourself some grief and let the sound 
card have its way! 



tf 



n 
3 

n 

o 

3 

■o 
o 

3 
A 

3 



One example of a potential sound-board conflict is the combination of a Sound Blaster 
16 and an Adaptec SCSI adapter. The Sound and SCSI adapters will conflict on DMA 5 as 
well as on I/O Ports 330-331. Rather than changing the settings of the sound card, it is 
best to alter the SCSI adapter to the next available settings that will not conflict with the 
sound card or anything else. The final settings were shown in the previous configuration 
template. 

The cards in question (Sound Blaster 16 and AHA-1542CF) are not singled out here be- 
cause there is something wrong with them, but instead because they happen to be the 
most popular cards of their respective types, and as such will often be paired together. 



140 



Chapter 5 — Bus Slots and I/O Cards 




On the Web 




On the Web 



http://www.creat.com/wwwnew/complex/products/ps_sound.html 

SCSI Adapter Boards. SCSI adapter boards use more resources than just about any other 
type of add-in device except perhaps a sound card. They will often use resources that are 
in conflict with sound cards or network cards. A typical SCSI host adapter requires an 
IRQ line, a DMA channel, a range of I/O Port addresses, and a 16K range of unused upper 
memory for its ROM and possible scratch-pad RAM use. Fortunately the typical SCSI 
adapter is also easy to reconfigure, and changing any of these settings should not affect 
performance or software operation. 

Before installing a SCSI adapter, be sure to read the documentation for the card, and 
make sure that any IRQ lines, DMA channels, I/O Ports, and upper memory that the card 
needs are available. If the system resources that the card needs are already in use, use 
your system-configuration template to determine how you can alter the settings on the 
SCSI card or other cards to prevent any resource conflicts before you attempt to plug in 
the adapter card. 

http://www.adaptec.com/ 

Network Interface Cards (NICs). Networks are becoming more and more popular all 
the time. A typical network adapter does not require as many resources as some of the 
other cards discussed here, but will require at least a range of I/O Port addresses and an 
interrupt. Most NICs will also require a 16K range of free Upper Memory to be used for 
the RAM transfer buffer on the network card. As with any other cards, make sure that all 
of these resources are unique to the card, and are not shared with any other devices. 

Multiple COM Port Adapters. A serial port adapter usually has two or more ports on- 
board. These COM ports require an interrupt and a range of I/O Ports each. There are not 
many problems with the I/O Port addresses, since the ranges used by up to four COM 
ports in a system are fairly well defined. The real problem is with the interrupts. Most 
older installations of more than two serial ports have any additional ones sharing the 
same interrupts as the first two. This is incorrect, and will cause nothing but problems 
with software that runs under Windows or OS/2. Always make sure that each serial port 
in your system has a unique I/O Port address range, and more importantly, a unique 
interrupt setting. 

Because COM ports are required for so many peripherals that connect to the modern PC, 
and because the number of COM ports that can be used is strictly limited by the IRQ 
setup in the basic IBM system design, special COM-port cards are available that enable 
you to assign a unique IRQ to each of the four COM ports on the card. For example, you 
can use such a card to leave COM1 and COM2 configured for IRQ 4 and IRQ3, respec- 
tively, but to configure COM3 for IRQ 10 and COM4 for IRQ 12 (provided you do not 
have a motherboard based mouse port in your system). 

Although most people have problems incorrectly trying to share interrupts when install- 
ing more than two serial ports in a system, there is a fairly common problem with the 
I/O port addressing that should be mentioned. Many of the newer high performance 
SVGA (Super VGA) chipsets, such as those from S3 Inc. and ATI, use some additional I/O 
port addresses that will conflict with the standard I/O port addresses used by COM4. 



Resolving Resource Conflicts 141 

In the example system configuration just covered, you can see that the ATI video card 
uses some additional I/O port addresses, specifically 2EC-2EF. This is a problem as COM4 
is normally configured as 2E8-2EF, which overlaps with the video card. The video cards 
that use these addresses are not normally adjustable for this setting, so you will either 
have to change the address of COM4 to a nonstandard setting, or simply disable COM4 
and restrict yourself to using only 3 serial ports in the system. If you do have a serial 
adapter that supports nonstandard I/O address settings for the serial ports, you must 
ensure that those settings are not used by other cards, and you must inform any software 
or drivers, such as those in Windows, of your nonstandard settings. 

With a multiple-COM-port adapter card installed and properly configured for your sys- 
tem, you can have devices hooked to four COM ports, and all four devices can be func- 
tioning at the same time. For example, you can use a mouse, modem, plotter, and serial 
printer at the same time. 

The Future: Plug and Play Systems 

What does the future hold? Perhaps the most exciting development looming on the 
horizon is Plug and Play systems. The specifications for these systems are available, and 
the systems themselves started becoming available in 1995. Specifications exist for ISA, 
PCI, SCSI, IDE CD-ROM, MCA, and PCMCIA systems and components. 

t/i 

Most users of MCA or EISA systems already know what Plug and Play means: it means *< 

that your computer senses any new adapter card on the I/O bus and makes the necessary J 

adjustments to share resources without conflict. You never need to worry about I/O ad- a 

dress, DMA channels, or IRQ settings. Q 

As mentioned earlier, this sort of capability has been built into EISA and MCA buses for ^ 

some time; the problem is that these are not the only buses on the market. Other buses a 

(all of which are described earlier in this chapter) enjoy the lion's share of the PC market. § 

As a result, most computer users must use the trial-and-error method of making their wi 

systems work properly. The Plug and Play specifications already in existence have per- 
haps the greatest impact on users of systems that have ISA buses. Their implementation 
promises a great boon for most PC users. 

Plug and Play (PnP) is not only a hardware issue. For Plug and Play to work, three com- 
ponents are required: 

■ PnP Hardware 

■ PnP BIOS 

■ PnP Operating system (optional) 

Each of these components needs to be Plug and Play-compatible, meaning that it com- 
plies with the Plug and Play specifications. 

The Hardware Component. The hardware component refers to both computer systems 
and adapter cards. The term does not mean, however, that you will not be able to use 
your older ISA adapter cards (referred to as legacy cards) in a Plug and Play system. You 



142 Chapter 5— Bus Slots and I/O Cards 

can use these cards; you just won't receive the benefits of automatic configuration, as 
you would if the cards were compatible. 

Plug and Play adapter cards will be able to communicate with the system BIOS and the 
operating system to convey information about what system resources are needed. The 
BIOS and operating system, in turn, will resolve conflicts (wherever possible) and inform 
the adapter cards which specific resources it should use. The adapter card then can 
modify its configuration to use the specified resources. 

The BIOS Component. The BIOS component means that most users of existing PCs will 
need to update their BIOSs or to purchase new machines that have Plug and Play BIOSs. 
For a BIOS to be compatible, it must support 13 additional system function calls, which 
can be used by the operating-system component of a Plug and Play system. The BIOS 
specification developed for Plug and Play was developed jointly by COMPAQ, Intel, and 
Phoenix Technologies. 

The Plug and Play features of the BIOS are implemented through an expanded power-on 
self- test (POST). The BIOS is responsible for identification, isolation, and possible con- 
figuration of Plug and Play adapter cards. The BIOS accomplishes these tasks by perform- 
ing the following steps: 

1 . Disable any configurable devices on the motherboard or on adapter cards. 

2. Identify any Plug and Play PCI or ISA devices. 

3. Compile an initial resource-allocation map for ports, IRQs, DMAs, and memory. 

4. Enable I/O devices. 

5. Scan the ROMs of ISA devices. 

6. Configure initial-program-load (IPL) devices, which are used later to boot the 
system. 

7. Enable configurable devices by informing them which resources have been 
assigned to them. 

8. Start the bootstrap loader. 

9. Transfer control to the operating system. 

The Operating-System Component. The operating-system component can be imple- 
mented by a brand-new version (such as an update of DOS, OS/2 or Windows, or Win- 
dows 95) or through DOS extensions. Extensions of this type should be familiar to most 
DOS users; extensions have been used for years to provide support for CD-ROM drives. 
Extension software is available now for existing operating systems, and you can expect 
all new PC operating systems to have PnP support built-in. 

It is the responsibility of the operating system to inform users of conflicts that cannot be 
resolved by the BIOS. Depending on the sophistication of the operating system, the user 
then could configure the offending cards manually (on-screen) or turn the system off 



Summary 143 



and set switches on the physical cards. When the system is restarted, the system is 
checked for remaining (or new) conflicts, any of which are brought to the user's atten- 
tion. Through this repetitive process, all system conflicts are resolved. 

Note that Plug and Play is still going through some revisions. Windows 95 requires at 
least version 1.0a of the ISA Plug and Play BIOS. If your system does not have the most 
current BIOS, I suggest that you install a BIOS upgrade. With the Flash ROM used in 
most Plug and Play systems, all this entails is downloading the new BIOS image from 
the system vendor or manufacturer and running the supplied BIOS update program. 



Summary 



This chapter covered a great deal of ground, going from the general to the specific and 
from the conceptual to the actual. The information in this chapter enables you to under- 
stand how your system physically and logically works. You learned the following: 

■ How buses are used in a computer system. 

■ What a processor bus, memory bus, address bus, and I/O bus are. 

■ How expansion slots fit into the architecture of your system. 

■ How the major types of I/O buses (ISA, MCA, EISA, local bus, VL-Bus, and PCI) £ 
compare. 2 

■ That system resources (including I/O addresses, IRQ lines, DMA channels, and Q 
memory areas) are limited. 3 

■o 

■ How adapter cards rely on system resources to communicate with your PC and to O 
do their work. JB 

1+ 

■ That system-resource conflicts can stop your adapter cards or your entire system •* 
from functioning properly. 

■ That the MCA bus, the EISA bus, and (in the future) Plug and Play greatly simplify 
allocation of system resources. 

■ That if your system does not resolve system-resource conflicts automatically, you 
must resolve them manually. 



Chapter 6 

Microprocessor Types 
and Specifications 




Processor Specifications 



Many confusing specifications often are quoted in discussions of processors. The follow- 
ing sections discuss some of these specifications, including the data bus, address bus, and 
speed. The next section includes a table that lists the specifications of virtually all PC 
processors. 

Data Bus 

One of the most common ways to describe a processor is by the size of the processor's 
data bus and address bus. A bus is simply a series of connections that carry common 
signals. Imagine running a pair of wires from one end of a building to another. If you 
connect a 110-volt AC power generator to the two wires at any point and place outlets 
at convenient locations along the wires, you have constructed a power bus. No matter 
which outlet you plug the wires into, you have access to the same signal, which in this 
example is 110-volt AC power. 



tf 



The brain of the PC is the processor, or Central Processing Unit (CPU). The CPU performs 
the system's calculating and processing — except for special math-intensive processing in 
systems that have a math coprocessing unit chip. The processor is easily the most expen- 
sive chip in the system. All the PC-compatibles use processors that are compatible with 
the Intel family of chips, although the processors themselves may have been manu- 
factured or designed by various companies, including AMD, IBM, Cyrix, Nexgen, and 
others. 

The following sections cover the processor chips that have been used in personal com- Q 

puters since the first PC was introduced more than a decade ago. These sections provide 3, 

•a 
o 
3 

(6 



a great deal of technical detail about these chips and explain why one type of CPU chip 

can do more work than another in a given period of time. First, however, you learn 

about two important components of the processor: the data bus and the address bus. 3 



146 



Chapter 6 — Microprocessor Types and Specifications 



Any transmission medium that has more than one outlet at each end can be called a bus. 
A typical computer system has several buses, and a typical processor has two important 
buses for carrying data and memory-addressing information: the data bus and the ad- 
dress bus. 

The processor bus discussed most often is the data bus-the bundle of wires (or pins) used 
to send and receive data. The more signals that can be sent at the same time, the more 
data can be transmitted in a specified interval and, therefore, the faster the bus. 

Data in a computer is sent as digital information consisting of a time interval in which a 
single wire carries 5 volts to signal a 1 data bit or volts to signal a data bit. The more 
wires you have, the more individual bits you can send in the same time interval. A chip 
such as the 286, which has 16 wires for transmitting and receiving such data, has a 16-bit 
data bus. A 32-bit chip, such as the 486, has twice as many wires dedicated to simulta- 
neous data transmission as a 16-bit chip and can send twice as much information in the 
same time interval as a 16-bit chip. 



Table 6.1 


Intel Processor Specifications 








Processor 


CPU 
Clock 


Std. 
Voltage 


Internal 
Register 
Size 


Data- 
Bus 
Width 


Address- 
Bus 
Width 


Maximum 
Memory 


8088 
8086 


1x 
1x 


5v 

5v 


1 6-bit 
1 6-bit 


8-bit 
1 6-bit 


20-bit 
20-bit 


1M 
1M 


286 

386SX 

386SL 


1x 
lx 
1x 


5v 
5v 
3.3v 


1 6-bit 
32-bit 
32-bit 


1 6-bit 
1 6-bit 
1 6-bit 


24-bit 
24-bit 
24-bit 


16M 
16M 
16M 



386DX 


lx 


5v 


32-bit 


32-bit 


32-bit 


4G 


486SX 


lx 


5v 


32-bit 


32-bit 


32-bit 


4G 


486SX2 


2x 


5v 


32-bit 


32-bit 


32-bit 


4G 


487SX 


lx 


5v 


32-bit 


32-bit 


32-bit 


4G 


486DX 


lx 


5v 


32-bit 


32-bit 


32-bit 


4G 


486SL** 


lx 


3.3v 


32-bit 


32-bit 


32-bit 


4G 


486DX2 


2x 


5v 


32-bit 


32-bit 


32-bit 


4G 


486DX4 


2-3x 


3.3v 


32-bit 


32-bit 


32-bit 


4G 


Pentium OD 


2.5x 


5v 


32-bit 


32-bit 


32-bit 


4G 



Pentium 60/66 lx 


5v 


32-bit 


64-bit 


32-bit 


4G 


Pentium 75+ 1.5-3x 


3.3v*** 


32-bit 


64-bit 


32-bit 


4G 


Pentium Pro 2-3x 


2.9v 


32-bit 


64-bit 


36-bit 


64G 



*The 386SL contains an integral-cache controller, but the cache memory must be provided outside the chip. 
**The 486SL processor has been discontinued; instead, Intel now markets SL Enhanced versions of the SX, 
DX, and DX2 processors. These processors are available in both 5v and 3.3v versions and include power- 
management capabilities. 

***There are several different voltage variations of Pentium processors, including what Intel calls VRE 
(3.465v), VR (3.3v), as well as newer 2.9v and 2.5v versions. The Pentium Pro will run at 2.9v or less. 
****This figure does not include the optional 256K or 512K Level 2 cache chip built in to the CPU package. 
The L2 cache chip contains an additional 15.5 million or 31 million transistors. 



Processor Specifications 



147 



A good way to understand this flow of information is to consider a highway and the 
traffic it carries. If a highway has only one lane for each direction of travel, only one car 
at a time can move in a certain direction. If you want to increase traffic flow, you can 
add another lane so that twice as many cars pass in a specified time. You can think of an 
8-bit chip as being a single-lane highway because with this chip, 1 byte flows through at 
a time. (1 byte equals 8 individual bits.) The 16-bit chip, with 2 bytes flowing at a time, 
resembles a two-lane highway. To move a large number of automobiles, you may have 
four lanes in each direction. This structure corresponds to a 32-bit data bus, which has 
the capability to move four bytes of information at a time. 

Just as you can describe a highway by its lane width, you can describe a chip by the 
width of its data bus. When you read an advertisement that describes a computer system 
as being a 16-bit or 32-bit system, the ad usually is referring to the data bus of the CPU. 
This number provides a rough idea of the performance potential of the chip (and, there- 
fore, the system). 



Integral 
Cache 



Cache 
Type 



Burst 
Mode 



Integral 
FPU 



No. of 
Transistors 



Date 
Introduced 



No 


- 


No 


No 


29,000 


June '79 


No 


- 


No 


No 


29,000 


June '78 


No 


- 


No 


No 


1 34,000 


Feb. '82 


No 


- 


No 


No 


275,000 


June '88 


OK* 


WT 


No 


No 


855,000 


Oct. '90 



No 


- 


No 


No 


275,000 


Oct. '85 


8K 


WT 


Yes 


No 


1,185,000 


April '91 


8K 


WT 


Yes 


No 


1,185,000 


April '94 


8K 


WT 


Yes 


Yes 


1 ,200,000 


April '91 


8K 


WT 


Yes 


Yes 


1,200,000 


April '89 


8K 


WT 


Yes 


Optional 


1,400,000 


Nov. '92 


8K 


WT 


Yes 


Yes 


1,100,000 


March '92 


16K 


WT 


Yes 


Yes 


1,600,000 


Feb. '94 


2x1 6K 


WB 


Yes 


Yes 


3,100,000 


Jan. '95 



2x8K 


WB 


Yes 


Yes 


3,100,000 


March '93 


2x8K 


WB 


Yes 


Yes 


3,300,000 


March '94 


2x8K 


WB 


Yes 


Yes 


5,500,000 


Sept. '95 



FPU = Floating-Point Unit (math coprocessor) 

WF = Write-Fhrough cache (caches reads only) 

WB = Write-Back cache (caches both reads and writes) 

Note that the Pentium Pro processor includes 256K ofF2 cache in a separate die within the chip. 



tf 



3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Table 6.1 lists the specifications, including the data-bus sizes, for the Intel family of 
processors used in IBM and compatible PCs. 



148 Chapter 6 — Microprocessor Types and Specifications 

Internal Registers 

The size of the internal register is a good indication of how much information the pro- 
cessor can operate on at one time. Most advanced processors today — all the chips from 
the 386 to the Pentium — use 32-bit internal registers. 

Some processors have an internal data bus (made up of data paths and of storage units 
called registers) that is different from the external data bus. The 8088 and 386SX are ex- 
amples of this structure. Each chip has an internal data bus twice the width of the exter- 
nal bus. These designs, which sometimes are called hybrid designs, usually are low-cost 
versions of a "pure" chip. The 386SX, for example, can pass data around internally with 
a full 32-bit register size; for communications with the outside world, however, the chip 
is restricted to a 16-bit-wide data path. This design enables a systems designer to build a 
lower-cost motherboard with a 16-bit bus design and still maintain compatibility with 
the full 32-bit 386. 

Internal registers often are larger than the data bus, which means that the chip requires 
two cycles to fill a register before the register can be operated on. For example, both the 
386SX and 386DX have internal 32-bit registers however, the 386SX has to "inhale" 
twice (figuratively) to fill them, whereas the 386DX can do the job in one "breath." The 
same thing would happen when the data is passed from the registers back out to the 
system bus. 

The Pentium is an example of the opposite situation. This chip has a 64-bit data bus but 
only 32-bit registers — a structure that may seem to be a problem until you understand 
that the Pentium has two internal 32-bit pipelines for processing information. In many 
ways, the Pentium is like two 32-bit chips in one. The 64-bit data bus provides for very 
efficient filling of these multiple registers. 

Address Bus 

The address bus is the set of wires that carry the addressing information used to describe 
the memory location to which the data is being sent or from which the data is being 
retrieved. As with the data bus, each wire in an address bus carries a single bit of informa- 
tion. This single bit is a single digit in the address. The more wires (digits) used in calcu- 
lating these addresses, the greater the total number of address locations. The size (or 
width) of the address bus indicates the maximum amount of RAM that a chip can 
address. 

The highway analogy can be used to show how the address bus fits in. If the data bus is 
the highway, and if the size of the data bus is equivalent to the number of lanes, the 
address bus relates to the house number or street address. The size of the address bus is 
equivalent to the number of digits in the house address number. For example, if you live 
on a street in which the address is limited to a two-digit (base 10) number, no more than 
100 distinct addresses (00 to 99) can exist for that street (10 to the power of 2). Add an- 
other digit, and the number of available addresses increases to 1,000 (000 to 999) or 10 
to the 3rd power. 



Processor Specifications 



149 



Computers use the binary (base 2) numbering system, so a two-digit number provides 
only four unique addresses (00, 01, 10, and 11) calculated as 2 to the power of 2, and a 
three-digit number provides only eight addresses (000 to 111) which is 2 to the 3rd 
power. For example, the 8086 and 8088 processors use a 20-bit address bus that calcu- 
lates as a maximum of 2 to the 20th power or 1,048,576 bytes (1M) of address locations. 
Table 6.2 describes the memory-addressing capabilities of Intel processors. 



Table 6.2 Intel Processor Memory-Addressing Capabilities 



Address 
Processor Family Bus Bytes 



Kilobytes Megabytes Gigabytes 



8088/8086 20-bit 

286/386SX 24-bit 

386DX/486/Pentium 32-bit 

Pentium Pro 36-bit 



1,048,576 1,024 1 

16,777,216 16,384 16 

4,294,967,296 4,194,304 4,096 

68,719,476,736 67,108,864 65,536 



4 
64 



The data bus and address bus are independent, and chip designers can use whatever size 
they want for each. Usually, however, chips with larger data buses have larger address 
buses. The sizes of the buses can provide important information about a chip's relative 
power, measured in two important ways. The size of the data bus is an indication of the 
information-moving capability of the chip, and the size of the address bus tells you how 
much memory the chip can handle. 

Processor Speed Ratings 

A common misunderstanding about processors is their different speed ratings. This sec- 
tion covers processor speed in general and then provides more specific information 
about Intel processors. 

A computer system's clock speed is measured as a frequency, usually expressed as a num- 
ber of cycles per second. A crystal oscillator controls clock speeds, using a sliver of quartz 
in a small tin container. As voltage is applied to the quartz, it begins to vibrate (oscillate) 
at a harmonic rate dictated by the shape and size of the crystal (sliver). The oscillations 
emanate from the crystal in the form of a current that alternates at the harmonic rate of 
the crystal. This alternating current is the clock signal. A typical computer system runs 
millions of these cycles per second, so speed is measured in megahertz (MHz). (One hertz 
is equal to one cycle per second.) 



tf 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



The hertz was named for the German physicist Heinrich Rudolph Hertz. In 1 885, Hertz confirmed 
through experimentation the electromagnetic theory, which states that light is a form of electro- 
magnetic radiation and is propagated as waves. 



A single cycle is the smallest element of time for the processor. Every action requires at 
least one cycle and usually multiple cycles. To transfer data to and from memory, for 



150 Chapter 6 — Microprocessor Types and Specifications 

example, an 8086 chip needs four cycles plus wait states. (A wait state is a clock tick in 
which nothing happens to ensure that the processor isn't getting ahead of the rest of the 
computer.) A 286 needs only two cycles plus any wait states for the same transfer. 

The time required to execute instructions also varies. The original 8086 and 8088 proces- 
sors take an average of 12 cycles to execute a single instruction. The 286 and 386 proces- 
sors improve this rate to about four and one-half cycles per instruction; the 486 drops 
the rate further, to 2 cycles per instruction. The Pentium includes twin instruction 
pipelines and other improvements that provide for operation at 1 cycle per average 
instruction. 

Different instruction execution times (in cycles) make it difficult to compare systems 
based purely on clock speed, or number of cycles per second. One reason why the 486 is 
so fast is that it has an average instruction-execution time of 2 clock cycles. Therefore, a 
100 MHz Pentium is about equal to a 200 MHz 486, which is about equal to a 400 MHz 
386 or 286, which is about equal to a 1,000 MHz 8088. As you can see, you have to be 
careful in comparing systems based on pure MHz alone; many other factors affect system 
performance. 

How can two processors that run at the same clock rate perform differently, with one 
running "faster" than the other? The answer is simple: efficiency. 

Suppose that you are comparing two engines. An engine has a crankshaft revolution, 
called a cycle. This cycling time is measured in revolutions per minute (RPM). If two 
engines run the same maximum RPM, they should run the car at the same speed, right? 

Wrong! Actually, the car with the higher power output is faster, assuming that the cars 
weigh the same and are geared the same. As you can see, these types of specification 
comparisons can be difficult to manage because of all the other variables that can enter 
in. I would not compare two computer systems based solely on MHz any more than I 
would compare two cars on the basis of engine RPM. 

You can see that comparing the performance of two vehicles based solely on engine RPM 
is inaccurate. You never would make such a comparison, because you know that many 
more factors than just engine speed determine vehicle speed and acceleration capability. 

Unfortunately, we often make the same type of poor comparison in evaluating comput- 
ers. Using engine RPM to compare how fast two cars can run is similar to using MHz to 
compare how fast two computers can run. A better specification to use when you are 
comparing the two vehicles would be engine horsepower, which is a measurement of the 
amount of work that each engine can perform. Then you would have to adjust the horse- 
power figure for the weight of the vehicle, the coefficient of drag, drive-line gearing, 
parasitic losses, and so on. In effect, too many other variables are involved for you to 
make any simplistic comparison, even if you first picked a more meaningful specification 
to compare than engine redline. The best way to evaluate which of the two vehicles is 
faster is through road testing. In a computer, the equivalent is taking some of your soft- 
ware and running benchmarks, or comparative performance tests. 

A big V-8 engine does more work in each crankshaft revolution (or cycle) than a 
6-cylinder engine normally can. In the same manner, a Pentium can perform much more 



Processor Specifications 



151 



work in a single CPU cycle than a 486 can; it's simply more efficient. As you can see, you 
must be careful in comparing MHz to MHz, because much more is involved in total sys- 
tem performance. 

Comparing automobile engines by virtue of their horsepower output is a much more 
valid comparison than just RPM. What is needed is a sort of horsepower measurement 
for processors. To compare processors more accurately based on comparative "horse- 
power," Intel has devised a specific series of benchmarks that can be run against Intel 
chips to produce a relative gauge of performance. This is called the ICOMP (Intel 
Comparative Microprocessor Performance) index. Table 6.3 shows the relative power, 
or ICOMP index, for several processors. 



Table 6.3 ICOMP Index Ratings 



Processor 



ICOMP Index 



i386SX-! 6 


22 


i386 SX-20 


32 


i386 SX-25 


39 


i386 SL-25 


41 


i386 DX-25 


49 


i386 SX-33 


56 


i486SX-16 


63 


i386 DX-33 


68 


i486 SX-20 


78 


i486 SX-25 


100 


i486 DX-25 


122 


i486 SL-25 


122 


i486 SX-33 


136 


i486 DX-33 


166 


i486 SL-33 


166 


i486 SX2-50 


180 


i486 DX2-40 


182 


i486 DX2-50 


231 


i486 DX-50 


249 


i486 DX2-66 


297 


i486 DX4-75 


319 


i486 Pentium OverDrive-63 


380 (443 w/Write-Back Cache) 


i486DX4-100 


435 


i486 Pentium OverDrive-83 


500 (575 w/Write-Back Cache) 


Pentium 60 


510 


Pentium 66 


567 


Pentium 75 


610 


Pentium 90 


735 




# 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



(continues) 



152 Chapter 6 — Microprocessor Types and Specifications 



Table 6.3 Continued 



Processor ICOMP Index 



Pentium 100 815 

Pentium 120 1000 

Pentium 133 1110 

Pentium 150 1176 

Pentium 166 1308 

Pentium Pro 180 N/A 

Pentium Pro 200 N/A 



The ICOMP index is derived from several independent benchmarks and is a stable indi- 
cation of relative processor performance. Floating-point calculations are weighed in the 
ICOMP rating, so processors that have a built-in FPU (Floating-Point Unit) always have 
some advantage over those that do not. 

Another factor in CPU performance is clock speed. Clock speed is a function of a 
system's design and usually is controlled by an oscillator, which in turn is controlled by 
a quartz crystal. Typically, the motherboard circuitry divides the crystal-oscillation fre- 
quency by some amount to obtain the processor frequency. The divisor amount is deter- 
mined by the original design of the processor, by related support chips, and by how the 
motherboard was designed to use these chips together as a system. In the original IBM 
PC and XT systems, for example, the main crystal frequency is 14.31818 MHz, which is 
divided by 3 by an 8284 clock generator chip to obtain a 4.77 MHz processor clock 
speed. In an original IBM AT system, the crystal speeds are 12 or 16 MHz, which is di- 
vided by 2 internally inside the 80286 to produce a 6 or 8 MHz processor clock speed, 
respectively. 

Modern systems use a variable frequency synthesizer circuit usually found in the main 
motherboard chipset to control the motherboard speed. Most 486 and Pentium mother- 
boards will have three or four speed settings. The processors used today are available in a 
variety of versions that run at different frequencies based on a given motherboard speed. 
For example, most of the 486 and Pentium chips run at a speed that is some multiple of 
the true motherboard speed. For example, Pentium processors and motherboards run at 
the following speeds: 



CPU Type/Speed 


CPU Clock 


Motherboard Speed 


Pentium 60 


1x 


60 


Pentium 66 


1x 


66 


Pentium 75 


1.5x 


50 


Pentium 90 


1.5x 


60 


Pentium 100 


1.5x 


66 


Pentium 120 


2x 


60 


Pentium 1 33 


2x 


66 



Processor Specifications 153 



CPU Type/Speed 


CPU Clock 


Motherboard Speed 


Pentium 150 


2.5x 


60 


Pentium 166 


2.5x 


66 


Pentium 180 


3x 


60 


Pentium 200 


3x 


66 



If all other variables are equal — including the type of processor, the number of wait states 
(empty cycles) added to different types of memory accesses, and the width of the data 
bus — you can compare two systems by their respective clock rates. Be careful with this 
type of comparison, however; certain variables (such as those influenced by the memory 
architecture) can greatly influence the speed of a system, causing the unit with a lower 
clock rate to run faster than you expect, or causing the system with a numerically higher 
clock rate to run slower than you think it should. The construction and design of the 
memory subsystem can have an enormous effect on a system's final execution speed. 

In building a processor, a manufacturer tests it at different speeds, temperatures, and 
pressures. After the processor is tested, it receives a stamp indicating the maximum safe 
speed at which the unit will operate under the wide variation of temperatures and pres- 
sures encountered in normal operation. The rating system usually is simple. For example, 
the top of the processor in one of my systems is marked like this: t/> 

A80486DX2-66 ff 

The A is Intel's indicator that this chip has a Ceramic Pin Grid Array form factor, which ^ 

describes the physical packaging of the chip. The 80486DX2 is the part number, which 
identifies this processor as a clock-doubled 486DX processor. The -66 at the end indicates ^ 

that this chip is rated to run at a maximum speed of 66 MHz. Because of the clock dou- § 

bling, the maximum motherboard speed is 33 MHz. This chip would be acceptable for jg 

any application in which the chip runs at 66 MHz or slower. For example, you could use Cf 

this processor in a system with a 25 MHz motherboard, in which case the processor 
would happily run at 50 MHz. 

Most 486 motherboards also have a 40 MHz setting, in which case the DX2 would run at 
80 MHz internally. Because this is 14 MHz beyond its rated speed, many would not work, 
or if they worked at all, it would only be for a short time. On the other hand, I have 
found that most of the newer chips marked with -66 ratings seem to run fine (albeit 
somewhat hotter!) at the 40/80 MHz settings. This can end up being a simple, cost effec- 
tive way to speed up your system. I would not recommend this for mission critical appli- 
cations where the system reliability is of the utmost importance, because a system 
pushed beyond specification like this can often exhibit erratic behavior under stress. 

Sometimes, however, the markings don't seem to indicate the speed directly. In the older 
8086, for example, -3 translates to 6 MHz operation. This marking scheme is more com- 
mon in some of the older chips manufactured before some of the marking standards 
used today were standardized. 

A manufacturer sometimes places the CPU under a heat sink, which prevents you from 
reading the rating printed on the chip. (A heat sink is a metal device that draws heat 



154 Chapter 6 — Microprocessor Types and Specifications 

away from an electronic device.) Most of the processors running at 50 MHz and higher 
should have a heat sink installed to prevent the processor from overheating. 

Intel Processors 

PC-compatible computers use processors manufactured primarily by Intel. Some other 
companies, such as Cyrix and AMD, have reverse-engineered the Intel processors and 
have begun making their own compatible versions. IBM also manufactures processors for 
some of its own systems as well as for installation in boards and modules sold to others. 
The IBM processors are not reverse-engineered, but are produced in cooperation with 
and under license from Intel. The terms of IBM's agreement also allow IBM to make 
modifications and improvements to the basic Intel design. IBM uses these processors in 
its own systems, but also is allowed to sell the processors in boards it manufactures for 
other companies. IBM is not allowed to sell these chips raw, but must always install them 
in some type of board assembly. 

Knowing the processors used in a system can be very helpful in understanding the capa- 
bilities of the system, as well as in servicing it. To fully understand the capabilities of a 
system and perform any type of servicing, you must know at least the type of processor 
that the system uses. 

8088 and 8086 Processors 

The original IBM PC used an Intel CPU chip called the 8088. The original 8088 CPU chip 
ran at 4.77 MHz, which means that the computer's circuitry drove the CPU at a rate of 
4,770,000 ticks, or computer heartbeats, per second. Each tick represents a small amount 
of work — the CPU executing an instruction or part of an instruction — rather than a 
period of elapsed time. 

In fact, both the 8088 and 8086 take an average 12 cycles to execute the average instruc- 
tion. The 8088 has an external data bus 8 bits wide, which means that it can move 8 bits 
(individual pieces) of information into memory at a time. The 8088 is referred to as a 16- 
bit processor, however, because it features internal 16-bit-wide registers and data paths. 
The 8088 also has a 20-bit address bus, which enables the system to access 1M of RAM. 
Using the 8088, a manufacturer could build a system that would run 16-bit software 
and have access to 1M of memory while keeping the cost in line with then-current 8-bit 
designs. Later, IBM used the 8088 chip in the PC/XT computer. 

IBM used the 8088 to put together the original IBM PC 5150-001, which sold for $1,355 
with 16K of RAM and no drives. A similarly configured Apple II system, the major com- 
petition for the original PC, cost about $1,600. 

The 8088 eventually was redesigned to run at 8 MHz — nearly double the speed of the 
original PC. The speed at which the processor operates has a direct effect on the speed of 
program execution. Later sections of this chapter cover the speeds of the CPU chips that 
are successors to the 8088. 



Intel Processors 155 



The real mode of 286 and higher CPU chips refers to the mode that these advanced chips use to 
imitate the original 8088 chip in the first PC. Real mode is used by 286 and higher CPU chips to 
run a single DOS program at a time, just as though systems based on these powerful chips are 
merely faster PCs. The additional modes of 286 and higher CPU chips are covered in subsequent 
sections of this chapter. 



Computer users sometimes wonder why a 640K conventional-memory barrier exists if 
the 8088 chip can address 1M of memory. The conventional-memory barrier exists be- 
cause IBM reserved 384K of the upper portion of the 1,024K (1M) address space of the 
8088 for use by adapter cards and system BIOS (a computer program permanently 
"burned into" the ROM chips in the PC). The lower 640K is the conventional memory 
in which DOS and software applications execute. 

In 1976, before the 8088 chip, Intel made a slightly faster chip named the 8086. The 
8086, which was one of the first 16-bit chips on the market, addressed 1M of RAM. The 
design failed to catch on, however, because both the chip and a motherboard designed 
for the chip were costly. The cost was high because the system needed a 16-bit data bus 
rather than the less expensive 8-bit bus. Systems available at that time were 8-bit, and 
users apparently weren't willing to pay for the extra performance of the full 16-bit de- 
sign. Therefore, Intel introduced the 8088 in 1978. Both the 8086 and the 8088 CPU 
chips are quite slow by today's standards. 



tf 



ft 

3 



•a 
o 

3 



n 

o 

IBM largely ignored the 8086 CPU chip until it manufactured the first PS/2 Models 25 3 

and 30. Systems produced by many other manufacturers, such as the COMPAQ Deskpro 
and the AT&T 6300, had been using the 8086 for some time. The capability of the 

8086 to communicate with the rest of the system at 16 bits gives it about a 20 percent 3 

throughput increase over an 8088 with an identical speed (in MHz). This improvement 
is one reason why IBM can claim that the 8 MHz, 8086-based Model 30 is two and one- 
half times faster than the 4.77 MHz, 8088-based PC or XT, even though 8 MHz is not 
more than twice the clock speed. This claim is the first indication of what a CPU chip 
with a wider data path can mean in terms of speed improvements. 

80186 and 80188 Processors 

After Intel produced the 8086 and 8088 chips, it turned its sights toward producing a 
more powerful chip with an increased instruction set. The company's first efforts along 
this line — the 80186 and 80188 — were unsuccessful. But incorporating system compo- 
nents into the CPU chip was an important idea for Intel, because it led to faster, better 
chips, such as the 286. 

The relationship between the 80186 and 80188 is the same as that of the 8086 and 8088; 
one is a slightly more advanced version of the other. Compared CPU to CPU, the 80186 
is almost the same as the 8088 and has a full 16-bit design. The 80188 (like the 8088) is a 
hybrid chip that compromises the 16-bit design with an 8-bit external communications 
interface. The advantage of the 80186 and 80188 is that they combine on a single chip 
15 to 20 of the 8086-8088 series system components, a fact that can greatly reduce the 



156 Chapter 6 — Microprocessor Types and Specifications 

number of components in a computer design. The 80186 and 80188 chips are used for 
highly intelligent peripheral adapter cards, such as network adapters. 

Although the 80186 and 80188 did provide some new instructions and capabilities, not 
much in those chips was new compared with the improvements that came later in the 
286 and higher chips. The 80186 and 80188 chips were difficult for system designers to 
use in manufacturing systems that were compatible with the IBM PC. For example, these 
chips had DMA (Direct Memory Access) and Interrupt controllers built in, but they were 
incompatible with the external controllers required for a PC-compatible design. Slight 
differences in the instruction sets also caused problems when the 80186 and 80188 were 
supposed to emulate 8086 and 8088 chips. In addition to compatibility problems, the 
chips didn't offer much performance improvement over the earlier 8086 and 8088. In 
addition, the individual components that the 80186 and 80188 chips were designed to 
replace had become inexpensive, which made the 80186 and 80188 chips less attractive. 

286 Processors 

The Intel 80286 (normally abbreviated as 286) processor did not suffer from the compat- 
ibility problems that doomed the 80186 and 80188. The 286 chip, introduced in 1981, is 
the CPU behind the IBM AT. You also can find 286 chips in IBM's original PS/2 Models 
50 and 60 (later PS/2s contain 386 or 486 chips). Other computer makers manufactured 
what came to be known as IBM clones, with many of these manufacturers calling their 
systems AT compatible or AT-class computers. 

When IBM developed the AT, it selected the 286 as the basis for the new system because 
the chip provided much compatibility with the 8088 used in the PC and the XT, which 
meant that software written for those chips should run on the 286. The 286 chip is many 
times faster than the 8088 used in the XT, and it offered a major performance boost to 
PCs used in businesses. The processing speed, or throughput, of the original AT (which 
ran at 6 MHz) was five times greater than that of the PC running at 4.77 MHz. 

For several reasons, 286 systems are faster than their predecessors. The main reason is 
that 286 processors are much more efficient in executing instructions. An average in- 
struction takes 12 clock cycles on the 8086 or 8088, but an average 4.5 cycles on the 286 
processor. Additionally, the 286 chip can handle up to 16 bits of data at a time through 
an external data bus twice the size of the 8088. 

Another reason why personal computing received a major boost from the 286 chip is 
clock speed. AT- type systems are based on 6, 8, 10, 12, 16, and 20 MHz versions of the 
286 chip. Earlier processors typically are available in versions only up to 8 MHz. Even if 
the clock speeds are the same — as in comparing a system that has an 8 MHz 8088 with 
a system that has an 8 MHz 286 — the 286-based system operates roughly three times 
faster. 

The 286 chip has two modes of operation: real mode and protected mode. The two 
modes are distinct enough to make the 286 resemble two chips in one. In real mode, 
a 286 acts essentially the same as an 8086 chip and is fully object-code-compatible with 
the 8086 and 8088. (A processor with object-code-compatibility can run programs writ- 
ten for another processor without modification and execute every system instruction in 
the same manner.) 



Intel Processors 157 

In the protected mode of operation, the 286 truly was something new. In this mode, 
a program designed to take advantage of the chip's capabilities believes that it has access 
to 1G of memory (including virtual memory). The 286 chip, however, can address only 
16M of hardware memory. When a program calls for more memory than physically ex- 
ists in the system, the CPU swaps to disk some of the currently running code and enables 
the program to use the newly freed physical RAM. The program does not know about 
this swapping and instead acts as though 1G of actual memory exists. Virtual memory 
is controlled by the operating system and the chip hardware. 

A significant failing of the 286 chip is that it cannot switch from protected mode to real 
mode without a hardware reset (a warm reboot) of the system. (It can, however, switch 
from real mode to protected mode without a reset.) A major improvement of the 386 
over the 286 is the fact that software can switch the 386 from real mode to protected 
mode, and vice versa. 

When the 286 chip was introduced, Intel said that real mode was created so that much 
of the 8086- and 8088-based software could run with little or no modification until new 
software could be written to take advantage of the protected mode of the 286. As with 
later Intel processors, however, it was a long time before software took advantage of the 
capabilities of the 286 chip. For example, most 286 systems are used as if they are merely 
faster PCs. These systems are run in real mode most of the time because the programs 
were written for DOS, and DOS and DOS programs are limited to real mode. Unfortu- 
nately, much of the power of systems based on the 286 chip is unused. In real mode, a 
286 chip cannot perform any additional operations or use any extra features designed 
into the chip. q 

3 

IBM and Microsoft together began the task of rewriting DOS to run in both real and ^ 

O 
protected modes. The result was early versions of OS/2, which could run most old DOS 3 

programs just as they ran before, in real mode. In protected mode, OS/2 provided true 3 

software multitasking and access to the entire 1G of virtual or 16M of physical address <* 

space provided by the 286. UNIX and XENIX also were written to take advantage of the 

286 chip's protected mode. In terms of mass appeal, however, these operating systems 

were a limited success. 

Little software that took advantage of the 286 chip was sold until Windows 3.0 offered 
Standard Mode for 286 compatibility, and by that time, the hottest-selling chip was the 
386. Still, the 286 was Intel's first attempt to produce a CPU chip that supported multi- 
tasking, in which multiple programs run at the same time. The 286 is designed so that if 
one program locks up or fails, the entire system doesn't need a warm boot (reset) or cold 
boot (power off or on). Theoretically, what happens in one area of memory doesn't affect 
other programs. Before multitasked programs are "safe" from one another, however, the 
286 chip (and subsequent chips) needs an operating system that works cooperatively 
with the chip to provide such protection. 

In a way, this situation leads back to OS/2, which could provide protection but never 
caught on for the 286 in a big way. Although newer versions of OS/2 offer a graphical 
user interface (GUI) similar to that of Windows — and although on 386 and newer sys- 
tems, OS/2 offers full 32-bit processing for software that is designed to take advantage of 



# 



158 Chapter 6 — Microprocessor Types and Specifications 

it — OS/2 is nowhere near replacing DOS as the operating system of choice on PCs and is 
nowhere near as popular as Windows. One reason why is because few OS/2 applications 
have been developed, compared with the number of DOS and Windows programs. 

Protected mode on a 286 enables multiple programs to run at one time only when those 
programs are specifically written for the operating system (or operating environment). To 
run several programs at the same time on a 286 in Windows, for example, each active 
program must be a Windows program (written specifically to run only under Windows). 

Because of the virtual-memory scheme of the 286, the size of programs under operating 
systems such as OS/2 and UNIX can be extremely large. Even though the 286 does not 
address more than 16M of physical memory, the 286's virtual-memory scheme enables 
programs to run as though 1G of memory were available. But programs that require a 
great deal of swapping run slowly, which is why software manufacturers usually indicate 
the amount of physical RAM needed to run their programs effectively. The more physical 
memory you install, the faster 286-based systems running OS/2 or UNIX will work. 

Windows 3.0, which is not a true operating system because it uses DOS for its underpin- 
nings, provides only poor protection on a 286. Unruly programs still can crash the entire 
system. Windows 3.1 does a better job of implementing protection on a 286, but it still is 
far from perfect. 

Although UNIX and XENIX provide support for the 286 chip's protected mode, these 
operating systems have found a following among a small group of extremely high-end 
computer users, primarily in academic or scientific settings. 

386 Processors 

The Intel 80386 (normally abbreviated as 386) caused quite a stir in the PC industry 
because of the vastly improved performance that it brought to the personal computer. 
Compared with 8088 and 286 systems, the 386 chip offers greater performance in almost 
all areas of operation. 

The 386 is a full 32-bit processor optimized for high-speed operation and multitasking 
operating systems. Intel introduced the chip in 1985, but the 386 appeared in the first 
systems in late 1986 and early 1987. The COMPAQ Deskpro 386 and systems made by 
several other manufacturers introduced the chip; somewhat later, IBM used the chip in 
its PS/2 Model 80. For several years, the 386 chip rose in popularity, and peaked around 
1991. Since then, the popularity of the 386 has waned; in the past year or so, it has virtu- 
ally died out due to the availability of inexpensive systems based on the 486 and 
Pentium CPU chips. The 386 had an extended life in the mainstream due in part to the 
use of the chip in extremely small, lightweight, and powerful laptop and notebook com- 
puters. 

The 386 can execute the real-mode instructions of an 8086 or 8088, but in fewer clock 
cycles. The 386 was as efficient as the 286 in executing instructions, which means that 
the average instruction takes about four and one-half clock cycles. In raw performance, 
therefore, the 286 and 386 actually seemed to be about equal at equal clock rates. Many 
286-system manufacturers were touting their 16 MHz and 20 MHz 286 systems as being 
just as fast as 16 MHz and 20 MHz 386 systems, and they were right! The 386 offered 



Intel Processors 159 

greater performance in other ways, mainly due to additional software capability (modes) 
and a greatly enhanced Memory Management Unit (MMU). 

The 386 can switch to and from protected mode under software control without a system 
reset, a capability that makes using protected mode more practical. In addition, the 386 
has a new mode, called virtual real mode, which enables several real-mode sessions to run 
simultaneously under protected mode. 

Other than raw speed, probably the most important feature of this chip is its available 
modes of operation, which are: 

■ Real mode 

■ Protected mode 

■ Virtual real mode (sometimes called virtual 86 mode) 

Real mode on a 386 chip, as on a 286 chip, is 8086-compatible mode. In real mode, the 
386 essentially is a much faster "turbo PC" with 640K of conventional memory, just like 
systems based on the 8088 chip. DOS and any software written to run under DOS re- 
quires this mode to run. 

The protected mode of the 386 is fully compatible with the protected mode of the 286. 

The protected mode for both chips often is called their native mode of operation because 

these chips are designed for advanced operating systems such as OS/2 and Windows NT, 

which run only in protected mode. Intel extended the memory-addressing capabilities of 

386 protected mode with a new MMU that provides advanced memory paging and pro- O 

gram switching. These features are extensions of the 286 type of MMU, so the 386 re- ,= 

mains fully compatible with the 286 at system-code level. O 

(6 

The 386 chip's virtual real mode is new. In virtual real mode, the processor can run with 3 

hardware memory protection while simulating an 8086's real-mode operation. Multiple 
copies of DOS and other operating systems, therefore, can run simultaneously on this 
processor, each in a protected area of memory. If the programs in one segment crash, the 
rest of the system is protected. Software commands can reboot the blown partition. 

In simple terms, a PC with a 386 has the capability to "become" multiple PCs under 
software control. With appropriate management software, the 386 chip can create several 
memory partitions, each containing the full services of DOS, and each partition can 
function as though it were a stand-alone PC. These partitions are often called virtual 
machines. 

In 386 virtual real mode under software such as Windows, several DOS programs can be 
running at the same time as programs designed for Windows. Because the processor can 
service only a single application at a time by delivering a clock tick, Windows manages 
the amount of CPU time that each program gets by using a system called time slices. 
Because the 386 chip is so fast and because time slices are tiny fractions of a second, 
under Windows all applications appear to be running simultaneously. 

OS/2 exploits the multitasking capabilities of the 386 chip even more than Windows 
does. OS/2 2.x can simultaneously manage native OS/2 programs, DOS programs, and 



tf 



160 Chapter 6 — Microprocessor Types and Specifications 

most Windows programs. These capabilities aren't available in lesser processors, such 
as the 286. 

The 386 exploits protected mode much more effectively than the 286 does. The 386 can 
switch to and from protected mode under software control without a system reset. The 
286 cannot switch from protected mode without a hardware reset. 

Numerous variations of the 386 chip exist, some of which are less powerful and less 
power-hungry. The following sections cover the members of the 386-chip family and 
their differences. 

386DX Processors 

The 386DX chip was the first of the 386-family members that Intel introduced. The 386 
is a full 32-bit processor with 32-bit internal registers, a 32-bit internal data bus, and a 
32-bit external data bus. The 386 contains 275,000 transistors in a VLSI (Very Large Scale 
Integration) circuit. The chip comes in a 132-pin package and draws approximately 400 
milliamperes (ma), which is less power than even the 8086 requires. The 386 has a 
smaller power requirement because it is made of CMOS (Complementary Metal Oxide 
Semiconductor) materials. The CMOS design enables devices to consume extremely low 
levels of power. 

The Intel 386 chip is available in clock speeds ranging from 16 MHz to 33 MHz; other 
manufacturers offer comparable versions that offer speeds up to 40 MHz. 

The 386DX can address 4G of physical memory. Its built-in virtual memory manager 
enables software designed to take advantage of enormous amounts of memory to act as 
though a system has 64 terabytes of memory. (A terabyte is 1,099,511,627,776 bytes of 
memory.) Although most 386 systems are built to accept 64M or less in RAM chips on 
the motherboard, some high-end computer users do take advantage of the 386 chip's 
capacity for 4G of physical memory, as well as its 64T virtual-memory potential. 

386SX Processors 

The 386SX, code-named the P9 chip during its development, was designed for systems 
designers who were looking for 386 capabilities at 286-system prices. Like the 286, the 
386SX is restricted to only 16 bits when communicating with other system components 
such as memory. Internally, however, the 386SX is identical to the DX chip; the 386SX 
has 32-bit internal registers, and can therefore run 32-bit software. The 386SX uses a 
24-bit memory-addressing scheme like that of the 286, rather than the full 32-bit 
memory address bus of the standard 386. The 386SX, therefore, can address a maximum 
16M of physical memory rather than the 4G of physical memory that the 386DX can 
address. The 386SX is available in clock speeds ranging from 16 MHz to 33 MHz. 

The 386SX signaled the end of the 286 because of the 386SX chip's superior MMU and 
the addition of the virtual real mode. Under a software manager such as Windows or 
OS/2, the 386SX can run numerous DOS programs at the same time. The capability to 
run 386-specific software is another important advantage of the 386SX over any 286 or 
older design. For example, Windows 3.1 runs nearly as well on a 386SX as it does on a 
386DX. 



Intel Processors 161 



tf 



One common fallacy about the 386SX is that you can plug one into a 286 system and give the 
system 386 capabilities. This is not true; the 386SX chip is not pin-compatible with the 286 and 
does not plug into the same socket. Several upgrade products, however, have been designed to 
adapt the chip to a 286 system. In terms of raw speed, converting a 286 system to a 386 CPU chip 
results in little performance gain because 286 motherboards are built with a restricted 16-bit inter- 
face to memory and peripherals. A 1 6 MHz 386SX is not markedly faster than a 1 6 MHz 286, but it 
does offer improved memory-management capabilities on a motherboard designed for it, as well 
as the capability to run 386-specific software. 



386SL Processors 

Another variation on the 386 chip is the 386SL. This low-power CPU has the same capa- 
bilities as the 386SX, but it is designed for laptop systems in which low power consump- 
tion is needed. The SL chips offer special power-management features that are important 
to systems that run on batteries. The SL chip offers several sleep modes that conserve 
power. 

The chip includes an extended architecture that includes a System Management Inter- 
rupt (SMI), which provides access to the power-management features. Also included in 
the SL chip is special support for LIM (Lotus Intel Microsoft) expanded memory func- 
tions and a cache controller. The cache controller is designed to control a 16-64K exter- * 
nal processor cache. 

O 
These extra functions account for the higher transistor count in the SL chips (855,000) 3 

compared with even the 386DX processor (275,000). The 386SL is available in 25 MHz 

clock speed. 3 

3 
Intel offers a companion to the 386SL chip for laptops called the 82360SL I/O subsystem. J 

The 82360SL provides many common peripheral functions, such as serial and parallel 
ports, a direct memory access (DMA) controller, an interrupt controller, and power- 
management logic for the 386SL processor. This chip subsystem works with the processor 
to provide an ideal solution for the small size and low power-consumption requirements 
of portable and laptop systems. 

386 Processor Clones 

Several manufacturers, including AMD and Cyrix, have developed their own versions of 
the Intel 386DX and SX processors. These 386-compatible chips are available in speeds 
up to 40 MHz; Intel produces 386 chips up to only 33 MHz. Intel does not offer a 386 
chip faster than 33 MHz because that speed begins to tread on the performance domain 
of the slowest of its own 486 processors. 

In general, these chips are fully function-compatible with the Intel processors, which 
means that they run all software designed for the Intel 386. Many manufacturers choose 
these "cloned" 386 chips for their systems because they are faster and less expensive than 
Intel 386 chips. (Intel developed its "Intel Inside" advertising campaign in hopes of en- 
ticing buyers with a promise of getting the real thing.) 



162 Chapter 6 — Microprocessor Types and Specifications 

The section on IBM processors discusses the Intel-compatible chips designed and sold by 
IBM. These chips are not quite comparable with the other Intel processor clones because 
they actually use official masks and microcode licensed directly from Intel. This arrange- 
ment essentially gives IBM the full design of the chip to use in its present form or to 
modify. Thus, the IBM processors are fully compatible with the Intel processors and 
often offer many enhancements that are not even available in the Intel versions. 

486 Processors 

In this section, you find information that can dispel any misunderstandings you may 
have about the 486 chip versions and possible upgrades. The section explains all the 
available 486 processors, as well as the possible upgrades and interchanges. You learn the 
differences between items such as the new DX2 and OverDrive CPUs, and you learn 
which items are appropriate for a given 486-class system. The sections that follow cover 
the variations on the basic 486 chip. 

In the race for more speed, the Intel 80486 (normally abbreviated as 486) was another 
major leap forward. The additional power available in the 486 fueled tremendous growth 
in the software industry. Tens of millions of copies of Windows and millions of copies of 
OS/2 have been sold largely because the 486 finally made the GUI of Windows and OS/2 
a realistic option for people who work on their computers every day. 

Three main features make a given 486 processor roughly twice as fast as an equivalent 
MHz 386 chip. These features are: 

■ Reduced instruction-execution time. Instructions in the 486 take an average of only 
two clock cycles to complete, compared with an average of more than four cycles 
on the 386. 

■ Internal (Level 1) cache. The built-in cache has a hit ratio of 90-95 percent, which 
describes how often zero-wait-state read operations will occur. External caches can 
improve this ratio further. 

■ Burst-mode memory cycles. A standard 32-bit (four-byte) memory transfer takes two 
clock cycles. After a standard 32-bit transfer, more data up to the next 12 bytes (or 
three transfers) can be transferred with only one cycle used for each 32-bit (four- 
byte) transfer. Thus, up to 16 bytes of contiguous, sequential memory data can be 
transferred in as little as five cycles instead of eight cycles or more. This effect can 
be even greater when the transfers are only 8 bits or 16 bits each. 

■ Built-in (synchronous) enhanced math coprocessor (some versions). The math co- 
processor runs synchronously with the main processor and executes math instru- 
ctions in fewer cycles than previous designs do. On average, the math coprocessor 
built in to the DX-series chips provides two to three times greater math perfor- 
mance than an external 387 chip. 

The 486 chip is about twice as fast as the 386, which means that a 386DX-40 is about as 
fast as a 486SX-20. If given a choice between a 40 MHz 386 and a 20 MHz 486, 1 would 
go for the 486. The lower-MHz 486 chip not only will be just as fast (or faster), but also 
can be upgraded easily to a DX2 or DX4 processor — which would be two or three times 



Intel Processors 163 

faster yet. You can see why the arrival of the 486 rapidly killed off the 386 in the market- 
place. 

Before the 486, many people avoided GUIs because they didn't have time to sit around 
waiting for the hourglass, which indicates that the system is performing behind-the- 
scenes operations that the user cannot interrupt. The 486 changed that situation. Many 
people believe that the 486 CPU chip spawned the widespread acceptance of GUIs. 

The 486 chip's capability to handle the GUI prompted sales of pricey hardware: faster 
and larger hard drives, faster video display boards and larger monitors, faster and better 
printers, optical storage devices, CD-ROM drives, sound boards, and video capture 
boards. A fortunate occurrence prompted by all this spending is the fact that hardware 
(and software) prices have been in a steep decline for several years. 

With the release of its faster Pentium CPU chip, Intel began to cut the price of the 486 
line to entice the industry to shift over to the 486 as the mainstream system. Now Intel is 
starting to cut the price of the Pentium as well. The 486 chip is available in numerous 
versions: with and without math coprocessors, in clock speeds ranging from 16 MHz to 
100 MHz, with special power-management capabilities, and with 3.3-volt operation to 
save even more power. 

Besides high performance, one of the best features of the 486 family of chips is upgrad- 
ability. In most cases, you can enjoy a performance increase in a given 486 system sim- 
ply by adding or changing to a faster CPU. Unfortunately, Intel has not explained this 2 
upgradability well. I have found it difficult to cut through the marketspeak to find out 
the technical issues behind the different 486 CPU upgrades — specifically, how they work O 
and the ramifications of these upgrades. ,= 

O 
The 486 Processor Family. Since the introduction of the original 486DX chip in April 3 

1989, the 486 has spawned an entire family of processors. Although 486 processors share 3 

certain features, such as full 32-bit architecture and a built-in memory cache, the various 
members of the 486 family differ in certain features, as well as in maximum speeds and 
pin configurations. This section first breaks down the different 486 processors by their 
major types, speed differences, and physical configuration, and then describes each pro- 
cessor in depth. Following are the current primary versions of the 486: 

■ 486SX— 486 CPU without FPU (Floating-Point Unit) 

■ 486DX— 486 CPU plus FPU 

■ 486DX2— Double-speed (OverDrive) 486 CPU plus FPU 

■ 486DX4— Triple-speed 486 CPU plus FPU 

In addition, most of these 486 chips are available in a variety of maximum speed ratings, 
varying from 16 MHz at the low end to 100 MHz for the fastest chips. Table 6.4 shows 
the maximum speed ratings of the 486 processors. 



tf 



164 



Chapter 6 — Microprocessor Types and Specifications 



Table 6.4 486 Processor Maximum Clock Ratings 



Processor Type 



Clock Speeds in Megahertz (MHz) 



486SX 


16,20,25, 33,40, 50 


486DX 


25, 33, 50 


486DX2 


40, 50, 66, 80 


486DX4 


75, 1 00, 1 20 



A processor rated for a given speed always functions at any of the lower speeds. A 100 
MHz-rated 486DX4 chip, for example, runs at 75 MHz if it is plugged into a 25 MHz 
motherboard. Note that the DX2/OverDrive processors operate internally at two times 
the motherboard clock rate, whereas the DX4 processors operate at two, two and one- 
half, or three times the motherboard clock rate. Table 6.5 shows the different speed com- 
binations that can result from using the DX2 or DX4 processors with different 
motherboard clock speeds. 



Table 6.5 Intel DX2 and DX4 Operating Speeds Versus Motherboard 
Clock Speeds 



Motherboard 
Clock Speed 



16 MHz 20 MHz 25 MHz 33 MHz 40 MHz 50 MHz 



DX2 processor speed 


32 MHz 


40 MHz 


50 MHz 


66 MHz 


80 MHz 


N/A 


DX4 (2x mode) speed 


32 MHz 


40 MHz 


50 MHz 


66 MHz 


80 MHz 


100 MHz 


DX4 (2.5x mode) speed 


40 MHz 


50 MHz 


63 MHz 


83 MHz 


100 MHz 


N/A 


DX4 (3x mode) speed 


48 MHz 


60 MHz 


75 MHz 


100 MHz 


120 MHz 


N/A 



The internal core speed of the DX4 processor is controlled by the CLKMUL (Clock Multi- 
plier) signal at pin R-17 (socket 1) or S-18 (socket 2, 3, or 6). The CLKMUL input is 
sampled only during a reset of the CPU, and defines the ratio of the internal clock to 
the external bus frequency CLK signal at pin C-3 (socket 1) or D-4 (socket 2, 3, or 6). If 
CLKMUL is sampled low, the internal core speed will be two times the external bus fre- 
quency. If driven high or left floating (most motherboards would leave it floating), triple 
speed mode is selected. If the CLKMUL signal is connected to the BREQ (Bus Request) 
output signal at pin Q-15 (socket 1) or R-16 (socket 2, 3, or 6), the CPU internal core 
speed will be two and one-half times the CLK speed. To summarize, here is how the 
socket has to be wired for each DX4 speed selection: 

CPU Speed CLKMUL (Sampled Only at CPU Reset) 



2x 
2.5x 

3x 



Low 

Connected to BREQ 

High or Floating 



You will have to determine how your particular motherboard is wired and if it can be 
changed to alter the CPU core speed in relation to the CLK signal. In most cases, this 



Intel Processors 165 

would be one or two jumpers on the board near the processor socket. The motherboard 
documentation should cover these settings if they can be changed. 

One interesting capability here is to run the DX4-100 chip in a doubled mode with a 50 
MHz motherboard speed. This would give you a very fast memory bus, along with the 
same 100 MHz processor speed as if you were running the chip in a 33/100 MHz tripled 
mode. One caveat is that if your motherboard has VL-Bus slots, they will have to be 
slowed down to 33 or 40 MHz to operate properly. Many of the newer VL-Bus mother- 
boards can run the VL-Bus slots in a buffered mode, add wait states, or even selectively 
change the clock only for the VL-Bus slots to keep them compatible. In most cases, they 
will not run properly at 50 MHz. Consult your motherboard — or even better, your 
chipset documentation — to see how your board is set up. 

Note that PCI slots would be immune to this type of problem because they always run at 
33 MHz. This is one of the reasons that the industry is quickly moving away from VL 
and toward PCI. This is one of the reasons I now only recommend motherboards with 
PCI slots. 

Besides differing in clock speeds, 486 processors have slight differences in overall pin 
configurations. The DX, DX2, and SX processors have a virtually identical 168-pin con- 
figuration, whereas the OverDrive chips sold retail have either the standard 168-pin 
configuration or a specially modified 169-pin OverDrive (sometimes also called 487SX) vf 

configuration. If your motherboard has two sockets, the primary one likely supports the j* 

standard 168-pin configuration, and the secondary (OverDrive) socket supports the 169- 3 

pin OverDrive configuration. Most newer motherboards with a single ZIF (zero insertion n 

force) socket support any of the 486 processors except the DX4. The DX4 is different 
because it requires 3.3 volts to operate instead of 5 volts, like most of the other chips. 

If you are upgrading an existing system, be sure that your socket will support the chip 

that you are installing. In particular, if you are putting one of the new DX4 processors in j* 

an older system, you need some type of adapter to regulate the voltage down to 3.3 volts. 

If you put the DX4 in a 5 volt socket, you will destroy the (very expensive) chip! 

The 486-processor family is designed for high performance because it integrates formerly 
external devices, such as cache controllers, cache memory, and math coprocessors. Also, 
486 systems are designed for upgradability. Most 486 systems can be upgraded by simple 
processor additions or swaps that can effectively double the speed of the system. Because 
of these features, I recommend the 486SX or DX as the ideal entry-level system, espe- 
cially in a business environment. Your investment will be protected in the future by a 
universally available, low-cost processor upgrade. 

Internal (Level 1) Cache. All members of the 486 family include as a standard feature 
an integrated (Level 1) cache controller with either 8K or 16K of cache memory included. 
This cache basically is an area of very fast memory built into the processor that is used to 
hold some of the current working set of code and data. Cache memory can be accessed 
with no-wait states because it can fully keep up with the processor. Using cache memory 
reduces a traditional system bottleneck because system RAM often is much slower than 
the CPU. This prevents the processor from having to wait for code and data from much 
slower main memory, therefore improving performance. Without the cache, a 486 



166 Chapter 6 — Microprocessor Types and Specifications 

frequently would be forced to wait until system memory caught up. If the data that the 
486 chip wants is already in the internal cache, the CPU does not have to wait. If the 
data is not in the cache, the CPU must fetch it from the secondary processor cache or (in 
less sophisticated system designs) from the system bus. 

You do not need special software or programs to take advantage of this cache; it works 
invisibly inside the chip. Because the cache stores both program instructions (code) and 
data, it is called a unified cache. 

The organization of the cache memory in the 486 family technically is called a 4-Way Set 
Associative Cache, which means that the cache memory is split into four blocks. Each 
block also is organized as 128 or 256 lines of 16 bytes each. 

To understand how a 4-Way Set Associative Cache works, consider a simple example. In 
the simplest cache design, the cache is set up as a single block into which you can load 
the contents of a corresponding block of main memory. This procedure is similar to 
using a bookmark to locate the current page of a book that you are reading. If main 
memory equates to all the pages in the book, the bookmark indicates which pages are 
held in cache memory. This procedure works if the required data is located within the 
pages marked with the bookmark, but it does not work if you need to refer to a previ- 
ously read page. In that case, the bookmark is of no use. 

An alternative approach is to maintain multiple bookmarks to mark several parts of the 
book simultaneously. Additional hardware overhead is associated with having multiple 
bookmarks, and you also have to take time to check all the bookmarks to see which one 
marks the pages of data that you need. Each additional bookmark adds to the overhead, 
but also increases your chance of finding the desired pages. 

If you settle on marking four areas in the book to limit the overhead involved, you have 
essentially constructed a 4-Way Set Associative Cache. This technique splits the available 
cache memory into four blocks, each of which stores different lines of main memory. 
Multitasking environments, such as OS/2 and Windows, are good examples of environ- 
ments in which the processor needs to operate on different areas of memory simulta- 
neously and in which a 4-way cache would improve performance greatly. 

The contents of the cache must always be in sync with the contents of main memory to 
ensure that the processor is working with current data. For this reason, the internal cache 
in the 486 family is a Write-Through cache. Write-Through means that when the processor 
writes information out to the cache, that information is automatically written through 
to main memory as well. 

By comparison, the Pentium chip has an internal Write-Back cache, which means that 
both reads and writes are cached, further improving performance. Even though the inter- 
nal 486 cache is Write-Through, the system still can employ an external Write-Back 
cache for increased performance. In addition, the 486 can buffer up to four bytes before 
actually storing the data in RAM, improving efficiency in case the memory bus is busy. 



Intel Processors 167 

The cache controller built into the processor also is responsible for watching the memory 
bus when alternate processors, known as Bus Masters, are in control of the system. This 
process of watching the bus is referred to as Bus Snooping. If a Bus Master device writes to 
an area of memory that also is stored in the processor cache currently, the cache con- 
tents and memory no longer agree. The cache controller then marks this data as invalid 
and reloads the cache during the next memory access, preserving the integrity of the 
system. 

An external secondary cache (Level 2) of up to 512K or more of extremely fast Static 
RAM (SRAM) chips also is used in most 486-based systems to further reduce the amount 
of time that the CPU must spend waiting for data from system memory. The function of 
the secondary processor cache is similar to that of the 486 chip's on-board cache. The 
secondary processor cache holds information that is moving to the CPU, thereby reduc- 
ing the time that the CPU spends waiting and increasing the time that the CPU spends 
performing calculations. Fetching information from the secondary processor cache rather 
than from system memory is much faster because of the extremely fast speed of the 
SRAM chips — 20 nanoseconds (ns) or less. 

The following sections discuss the technical specifications and differences of the various 
members of the 486-processor family in more detail. 

486DX Processors. The original Intel 486DX processor was introduced on April 10, vf 

1989, and systems using this chip first appeared during 1990. The first chips had a maxi- j+ 

mum speed rating of 25 MHz; later versions of the 486DX were available in 33 MHz- and 3 

50 MHz-rated versions. The 486DX originally was available only in a 5v, 168-pin PGA n 
(Pin Grid Array) version, but now also is available in 5v, 196-pin PQFP (Plastic Quad Flat 
Pack) and 3.3v, 208-pin SQFP (Small Quad Flat Pack) as well. These latter form factors are 

available in SL Enhanced versions, which are intended primarily for portable or laptop 3 

applications in which saving power is important. 3 

VI 

Two main features separate the 486 processor from older processors such as the 386 or 
286: integration and upgradability. The 486DX integrates functions such as the math 
coprocessor, cache controller, and cache memory into the chip. The 486 also was de- 
signed with upgradability in mind; double-speed OverDrive are upgrades available for 
most systems. 

The 486DX processor is fabricated with low-power CMOS (Complimentary Metal Oxide 
Semiconductor) technology. The chip has a 32-bit internal register size, a 32-bit external 
data bus, and a 32-bit address bus. These dimensions are equal to those of the 386DX 
processor. The internal register size is where the "32-bit" designation used in advertise- 
ments comes from. The 486DX chip contains 1.2 million transistors on a piece of silicon 
no larger than your thumbnail. This figure is more than four times the number of com- 
ponents on 386 processors and should give you a good indication of the 486 chip's rela- 
tive power. Table 6.6 shows the technical specifications of the 486DX processor. 



168 



Chapter 6 — Microprocessor Types and Specifications 



Table 6.6 Intel 486DX Processor Specifications 



Introduced: 

Maximum rated speeds: 
CPU clock multiplier: 
Register size: 
External data bus: 
Memory address bus: 
Maximum memory: 
Integral-cache size: 
Integral-cache type: 
Burst-mode transfers: 
Number of transistors: 
Circuit size: 

External package: 
Math coprocessor: 
Power management: 
Operating voltage: 



April 1 0, 1 989 (25 MHz) June 24, 1 991 (50 MHz) 

25, 33, 50 MHz 

1x 

32-bit 

32-bit 

32-bit 

4G 

8K 

4-Way Set Associative, Write-Through 

Yes 

1 .2 million, 1 .4 million (SL Enhanced models) 

1 micron (25, 33 MHz), 0.8 micron (50 MHz and all SL Enhanced 
models) 

168-pin PGA, 196-pin PQFP*, 208-pin SQFP* 

Integral Floating-Point Unit (FPU) 

SMM (System Management Mode) in SL Enhanced models 

5v standard, 3.3v optional in 208-pin SQFP models 



PGA = Pin Grid Array 

PQFP = Plastic Quad Flat Pack 

SQFP = Small Quad Flat Pack 

*The PQFP and SQFP models are SL Enhanced only. 



The standard 486DX contains a processing unit, a Floating-Point Unit (math copro- 
cessor), a memory-management unit, and a cache controller with 8K of internal-cache 
RAM. Due to the internal cache and a more efficient internal processing unit, the 486 
family of processors can execute individual instructions in an average of only two proces- 
sor cycles. Compare this figure with the 286 and 386 families, both of which execute an 
average four and one-half cycles per instruction, or with the original 8086 and 8088 
processors, which execute an average 12 cycles per instruction. At a given clock rate 
(MHz), therefore, a 486 processor is roughly twice as efficient as a 386 processor; a 16 
MHz 486SX is roughly equal to a 33 MHz 386DX system; and a 20 MHz 486SX is 
equal to a 40 MHz 386DX system. Any of the faster 486s are way beyond the 386 in 
performance. 

The 486 is fully instruction-set-compatible with previous Intel processors, such as the 
386, but offers several additional instructions (most of which have to do with controlling 
the internal cache). 

Like the 386DX, the 486 can address 4G of physical memory and manage as much as 64 
terabytes of virtual memory. The 486 fully supports the three operating modes intro- 
duced in the 386: real mode, protected mode, and virtual real mode. In real mode, the 
486 (like the 386) runs unmodified 8086-type software. In protected mode, the 486 (like 
the 386) offers sophisticated memory paging and program switching. In virtual real 
mode, the 486 (like the 386) can run multiple copies of DOS or other operating systems 
while simulating an 8086's real-mode operation. Under an operating system such as 



Intel Processors 



169 



Windows or OS/2, therefore, both 16-bit and 32-bit programs can run simultaneously on 
this processor with hardware memory protection. If one program crashes, the rest of the 
system is protected, and you can reboot the blown portion through various means de- 
pending on the operating software. 

Built-in Math Coprocessor. The 486DX series has a built-in math coprocessor that 
sometimes is called an MCP (math coprocessor) or FPU (Floating-Point Unit). This series 
is unlike previous Intel CPU chips, which required you to add a math coprocessor if you 
needed faster calculations for complex mathematics. The FPU in the 486DX series is 100 
percent software-compatible with the external 387 math coprocessor used with the 386, 
but it delivers more than twice the performance because it runs in synchronization with 
the main processor and executes most instructions in half as many cycles as the 386. 

486SL. Intel originally announced a stand-alone chip called the 486SL. Now the SL as a 
separate chip has been discontinued, and all the SL enhancements and features are avail- 
able in virtually all the 486 processors (SX, DX, and DX2) in what are called SL Enhanced 
versions. SL Enhancement refers to a special design that incorporates special power-saving 
features. 

The SL Enhanced chips originally were designed to be installed in laptop or notebook 
systems that run on batteries, but they are finding their way into desktop systems as 
well. The SL Enhanced chips feature special power-management techniques, such as 
sleep mode and clock throttling, to reduce power consumption when necessary. These 
chips are available in 3.3v versions as well. Table 6.7 shows the technical specifications 
of the 486SL processor. 



Table 6.7 Intel 486SL Processor Specifications 



Introduced: 

Maximum rated speeds: 
CPU clock multiplier: 
Register size: 
External data bus: 
Memory address bus: 
Maximum memory: 
Integral-cache size: 
Integral-cache type: 
Burst-mode transfers: 
Number of transistors: 
Circuit size: 
External package: 
Math coprocessor: 
Power management: 
Operating voltage: 



November 9, 1992 

25, 33, 50 MHz 

Ix 

32-bit 

32-bit 

32-bit 

4G 

8K 

4-Way Set Associative, Write-Through 

Yes 

1.4 million 

0.8 micron 

168-pin PGA, 196-pin PQFP, 208-pin SQFP, 227-pin LGA* 

Integral Floating-Point Unit (FPU), optional in some models 

System Management Mode (SMM) 

5v standard, 3.3v optional in 208-pin SQFP models 



tf 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



PGA = Pin Grid Array 

PQFP = Plastic Quad Flat Pack 

SQFP = Small Quad Flat Pack 



LGA = Land Grid Array 

*Lhe LGA version has been discontinued. 



170 Chapter 6 — Microprocessor Types and Specifications 

Intel has designed a power-management architecture called System Management Mode 
(SMM). This new mode of operation is totally isolated and independent from other CPU 
hardware and software. SMM provides hardware resources such as timers, registers, and 
other I/O logic that can control and power down mobile-computer components without 
interfering with any of the other system resources. SMM executes in a dedicated memory 
space called System Management Memory, which is not visible and does not interfere 
with operating-system and application software. SMM has an interrupt called System 
Management Interrupt {SMI), which services power-management events, and is indepen- 
dent from and higher-priority than any of the other interrupts. 

SMM provides power management with flexibility and security that were not available 
previously. For example, when an application program tries to access a peripheral device 
that is powered down for battery savings, an SMI occurs, powering up the peripheral 
device and re-executing the I/O instruction automatically. 

Intel also has designed a feature called suspend/resume in the SL processor. The system 
manufacturer can use this feature to provide the portable-computer user with instant-on- 
and-off capability. An SL system typically can resume (instant on) in one second from 
the suspend state (instant off) to exactly where it left off. You do not need to reboot, load 
the operating system, load the application program, and then load the application data. 
Simply push the suspend/resume button, and the system is ready to go. 

The SL CPU was designed to consume almost no power in the suspend state. This feature 
means that the system can stay in the suspend state possibly for weeks and yet start up 
instantly right where it left off. While it is in the suspend state, an SL system can keep 
working data in normal RAM memory safe for a long time, but saving to a disk still is 
prudent. 

486SX. The 486SX, introduced in April 1991, was designed to be sold as a lower-cost 
version of the 486. The 486SX is virtually identical to the full DX processor, but the chip 
does not incorporate the FPU or math coprocessor portion. 

As you read earlier in this chapter, the 386SX was a scaled-down (some people would say 
crippled) 16-bit version of the full-blown 32-bit 386DX. The 386SX even had a com- 
pletely different pinout and was not interchangeable with the more powerful DX ver- 
sion. The 486SX, however, is a different story. The 486SX is in fact a full-blown 32-bit 
486 processor that is basically pin-compatible with the DX. A few pin functions are dif- 
ferent or rearranged, but each pin fits into the same socket. 

The 486SX chip is more a marketing quirk than new technology. Early versions of the 
486SX chip actually were DX chips that showed defects in the math-coprocessor section. 
Instead of being scrapped, the chips simply were packaged with the FPU section disabled 
and sold as SX chips. This arrangement lasted for only a short time; thereafter, SX chips 
got their own mask, which is different from the DX mask. (A mask is the photographic 
blueprint of the processor and is used to etch the intricate signal pathways into a silicon 
chip.) The transistor count dropped to 1.185 million (from 1.2 million) to reflect this 
new mask. 



Intel Processors 



171 



The 486SX chip is twice as fast as a 386DX with the same clock speed. Intel has marketed 
the 486SX as being the ideal chip for new computer buyers, because not much entry- 
level software uses the math-coprocessor functions. If you use software that does use 
or require the math coprocessor, you are well advised to stick with the DX series as a 
minimum. 

The 486SX was normally available in 16, 20, 25, and 33 MHz-rated speeds, and there was 
also a 486 SX/2 which ran at up to 50 or 66 MHz. The 486SX normally comes in a 168- 
pin version, although other surface-mount versions are available in SL Enhanced models. 

Table 6.8 shows the technical specifications of the 486SX processor. 



Table 6.8 Intel 486SX Processor Specifications 



Introduced: 

Maximum rated speeds: 
CPU clock multiplier: 
Register size: 
External data bus: 
Memory address bus: 
Maximum memory: 
Integral-cache size: 
Integral-cache type: 
Burst-mode transfers: 
Number of transistors: 
Circuit size: 
External package: 
Math coprocessor: 
Power management: 
Operating voltage: 



April 22, 1991 

16,20,25, 33 MHz 

1x (2x in some SL Enhanced models) 

32-bit 

32-bit 

32-bit 

4C 

8K 

4-Way Set Associative, Write-Through 

Yes 

1.185 million, 1.4 million (SL Enhanced models) 

1 micron, 0.8 micron (SL Enhanced models) 

168-pin PGA, 196-pin PQFP*, 208-pin SQFP* 

None 

SMM (System Management Mode) in SL Enhanced models 

5v standard, 3.3v optional in 208-pin SQFP models 



PGA = Pin Grid Array 

PQFP = Plastic Quad Flat Pack 

SQFP = Small Quad Flat Pack 

*The PQFP and SQFP models are SL Enhanced only. 



% 



3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Despite what Intel's marketing and sales information implies, no provision exists techni- 
cally for adding a separate math coprocessor to a 486SX system; neither is a separate 
math coprocessor chip available to plug in. Instead, Intel wants you to add a new 486 
processor with a built-in math unit and disable the SX CPU that already is on the 
motherboard. If this situation sounds confusing, read on, because this topic brings you 
to the most important aspect of 486 design: upgradability. 

487SX. The 487SX math coprocessor, as Intel calls it, really is a complete 25 MHz 486DX 
CPU with an extra pin added and some other pins rearranged. When the 487SX is 
installed in the extra socket provided in a 486SX-CPU-based system, the 487SX turns 



172 Chapter 6 — Microprocessor Types and Specifications 

off the existing 486SX via a new signal on one of the pins. The extra key pin actually 
carries no signal itself and exists only to prevent improper orientation when the chip is 
installed in a socket. 

The 487SX takes over all CPU functions from the 486SX and also provides math 
coprocessor functionality in the system. At first glance, this setup seems rather strange 
and wasteful, so perhaps further explanation is in order. Fortunately, the 487SX turned 
out simply to be a stopgap measure while Intel prepared its real surprise: the OverDrive 
processor. The DX2/OverDrive speed-doubling chips, which are designed for the 487SX 
169-pin socket, have the same pinout as the 487SX. These upgrade chips are installed in 
exactly the same way as the 487SX; therefore, any system that supports the 487SX also 
supports the DX2/OverDrive chips. 

When the 486SX processor was introduced, Intel told motherboard designers to install 
an empty 169-pin socket in the motherboard for a 487SX math coprocessor and origi- 
nally called this socket a Performance Upgrade Socket. At first, the only thing that you 
could plug into this socket was what Intel called a 487SX math coprocessor. The strange 
thing was that the 487SX was not really a math coprocessor at all, but a full 486DX 
processor! 

The only difference between a 487SX and a 486DX is the fact that the 487SX uses the 
169-pin rearranged pinout. When you plug a 487SX into the upgrade socket, a special 
signal pin that was not defined before (interestingly, not the extra 169th one) shuts 
down the original 486SX CPU, and the 487SX takes over. Because the 487SX is function- 
ally a full-blown DX processor, you also get the math coprocessor functions that were 
left out of the original 486SX CPU. That is one of the reasons why the 487SX is so expen- 
sive; you really are buying more than you think. The real crime is that the original CPU 
sits silently in the system and does nothing! 

Even though the 487SX basically is the same as the 486DX, you normally cannot install 
a "regular" 486DX processor in the OverDrive socket because the pin designations are 
not the same. (I used the word normally because some motherboards have a jumper selec- 
tion to allow for the different CPU pin configurations.) Because the 486SX actually uses a 
168-pin design similar to that of the 486DX (even though it normally is installed in a 
169-pin socket), you may be able to install a regular DX chip in the SX socket and have 
it work, but this capability depends somewhat on the flexibility of your motherboard. 

Although in most cases you can upgrade a system by removing the 486SX CPU and re- 
placing it with a 487SX (or even a DX or DX2/OverDrive), Intel originally discouraged 
this procedure and recommended that PC manufacturers include a dedicated upgrade 
(OverDrive) socket in their systems, because several risks were involved in removing the 
original CPU from a standard socket. (The following section elaborates on those risks.) 
Nowadays, Intel recommends — or even insists on — the use of a single processor socket of 
a ZIF (zero insertion force) design, which makes upgrading an easy task physically. 

DX2/OverDrive Processors. On March 3, 1992, Intel introduced the DX2 speed-doubling 
processors. On May 26, 1992, Intel announced that the DX2 processors also would be 
available in a retail version called OverDrive. Originally, the OverDrive versions of the DX2 



Intel Processors 173 



were available only in 169-pin versions, which meant that they could be used only with 
486SX systems that had sockets configured to support the rearranged pin configuration. 

On September 14, 1992, Intel introduced 168-pin OverDrive versions for upgrading 
486DX systems. These processors can be added to existing 486 (SX or DX) systems as an 
upgrade, even if those systems do not support the 169-pin configuration. When you use 
this processor as an upgrade, you simply install the new chip in your system, which 
subsequently runs twice as fast. (As the guy in RoboCop said, "I like it!") 

The DX2/OverDrive processors run internally at twice the clock rate of the host system. 
If the motherboard clock is 25 MHz, for example, the DX2/OverDrive chip runs inter- 
nally at 50 MHz; likewise, if the motherboard is a 33 MHz design, the DX2/OverDrive 
runs at 66 MHz. The DX2/OverDrive speed doubling has no effect on the rest of the 
system; all components on the motherboard run the same as they do with a standard 
486 processor. Therefore, you do not have to change other components (such as 
memory) to accommodate the double-speed chip. In other words, you can achieve a 
significant performance gain simply by changing the CPU chip; you do not have to use 
faster (more expensive) motherboard circuitry. 

The DX2/OverDrive chips have been available in several speeds. Three different speed- 
rated versions have been offered: 



tf 



■ 40 MHz DX2/OverDrive for 16 MHz or 20 MHz systems 

A 

■ 50 MHz DX2/OverDrive for 25 MHz systems 3 

■ 66 MHz DX2/OverDrive for 33 MHz systems O 

Notice that these ratings indicate the maximum speed at which the chip is capable of O 

running. You could use a 66 MHz-rated chip in place of the 50 MHz- or 40 MHz-rated 
parts with no problem, although the chip will run only at the slower speeds. The actual j* 

speed of the chip is double the motherboard clock frequency. When the 40 MHz DX2/ 
OverDrive chip is installed in a 16 MHz 486SX system, for example, the chip will func- 
tion only at 32 MHz — exactly double the motherboard speed. Intel originally stated that 
no 100 MHz DX2/OverDrive chip will be available for 50 MHz systems — which techni- 
cally has not been true because the DX4 can be set to run in a clock doubled mode and 
used in a 50MHz motherboard (more information on that situation later in the chapter). 

The only part of the DX2 chip that doesn't run at double speed is the bus interface unit, a 
region of the chip that handles I/O between the CPU and the outside world. By translat- 
ing between the differing internal and external clock speeds, the bus interface unit makes 
speed doubling transparent to the rest of the system. The DX2 appears to the rest of the 
system to be a regular 486DX chip, but one that seems to execute instructions twice as 
fast. 

DX2/OverDrive chips are based on the 0.8-micron circuit technology that was first used 
in the 50 MHz 486DX. The DX2 contains 1.1 million transistors in a three-layer form. 
The internal 8K cache, integer, and Floating-Point Units all run at double speed. External 
communication with the PC runs at normal speed to maintain compatibility. 



174 



Chapter 6 — Microprocessor Types and Specifications 



Table 6.9 shows the technical specifications of the 486DX2/OverDrive processors. 



Table 6.9 486DX2/OverDHve Processor Specifications 



Introduced: 

Maximum rated speeds: 
CPU clock multiplier: 
Register size: 
External data bus: 
Memory address bus: 
Maximum memory: 
Integral-cache size: 
Integral-cache type: 
Burst-mode transfers: 
Number of transistors: 
Circuit size: 
External package: 
Math coprocessor: 
Power management: 
Operating voltage: 



March 3, 1992 

40, 50, 66 MHz 

2x 

32-bit 

32-bit 

32-bit 

4G 

8K 

4-Way Set Associative, Write-Through 

Yes 

1.1 million, 1.4 million (SL Enhanced models) 

0.8 micron 

168-pin PGA, 169-pin PGA, 196-pin PQFP*, 208-pin SQFP* 

Integral Floating-Point Unit (FPU) 

SMM (System Management Mode) in SL Enhanced models 

5v standard, 3.3v optional in 208-pin SQFP models 



PGA = Pin Grid Array 

PQFP = Plastic Quad Flat Pack 

SQFP = Small Quad Flat Pack 

*The PQFP and SQFP models are SL Enhanced only. 



Besides upgrading existing systems, one of the best parts of the DX2 concept is the fact 
that system designers can introduce very fast systems by using cheaper motherboard 
designs, rather than the very costly designs that would support a straight high-speed 
clock. This means that a 50 MHz 486DX2 system is much less expensive than a straight 
50 MHz 486DX system. In a 486DX-50 system, the system board operates at a true 50 
MHz. In a 486DX2-50 system, the 486DX2 CPU operates internally at 50 MHz, but the 
motherboard operates at only 25 MHz. 

You may be thinking that a true 50 MHz DX-processor-based system still would be faster 
than a speed-doubled 25 MHz system, and this generally is true, but the differences in 
speed actually are very slight — a real testament to the integration of the 486 processor 
and especially to the cache design. 

When the processor has to go to system memory for data or instructions, for example, it 
has to do so at the slower motherboard operating frequency, such as 25 MHz. Because 
the 8K internal cache of the 486DX2 has a hit rate of 90-95 percent, however, the CPU 
has to access system memory only 5-10 percent of the time for memory reads. Therefore, 
the performance of the DX2 system can come very close to that of a true 50 MHz DX 
system and cost much less. Even though the motherboard runs only at 33.33 MHz, a 
system with a DX2 66 MHz processor ends up being faster than a true 50 MHz DX sys- 
tem, especially if the DX2 system has a good Level-2 cache. 



# 



Intel Processors 175 

Because the DX2 66 MHz chips are much cheaper than the straight 50 MHz DX models, 
the systems are cheaper as well. Additionally, the newer local buses operate best at 
33 MHz and do not tolerate 50 MHz speeds without using buffering. All these factors 
have contributed to the elimination of true 50 MHz DX systems from most manufactur- 
ers' inventories. 

Many 486 motherboard designs also include a secondary cache that is external to the 
cache integrated into the 486 chip. This external cache allows for much faster access 
when the 486 chip calls for external-memory access. The size of this external cache can 
vary anywhere from 16K to 512K or more. When you add a DX2 processor, an external 
cache is even more important for achieving the greatest performance gain, because this 
cache greatly reduces the wait states that the processor will have to add when writing to 
system memory or when a read causes an internal-cache miss. For this reason, some 
systems perform better with the DX2/OverDrive processors than others, usually depend- 
ing on the size and efficiency of the external-memory cache system on the motherboard. 
Systems that have no external cache will still enjoy a near-doubling of CPU performance, 
but operations that involve a great deal of memory access will be slower. 

At this writing, Intel has stated that it has no plans for a DX2/OverDrive chip for 50 MHz 
systems. Producing a speed-doubled OverDrive processor for 486DX-50 based systems 
would mean that the OverDrive chip would have to function internally at 100 MHz. 
Indirectly, Intel has solved this problem with the introduction of the DX4 processor. 

» 

Although the standard DX4 technically is not sold as a retail part, you can indeed pur- 
chase it from several vendors, along with the 3.3v adapter that you need to install the n 
chip in a 5v socket. These adapters have jumpers that enable you to select the DX4 clock 
multiplier and set it to 2x, 2.5x, or 3x mode. In a 50 MHz DX system, you could install a 
DX4/voltage-regulator combination set in 2x mode for a motherboard speed of 50 MHz 3 
and a processor speed of 100 MHz! Although you may not be able to take advantage of 3 
the latest local bus peripherals, you will in any case have one of the fastest 486-class PCs <* 
available. 

Intel also sells a special DX4 OverDrive processor that includes a built-in voltage regula- 
tor and heat sink that is specifically designed for the retail market. The DX4 OverDrive 
chip is essentially the same as the standard 3.3v DX4 with the main exception that it 
runs on 5v because it includes an on-chip regulator. Also, the DX4 OverDrive chip will 
only run in the tripled speed mode, and not the 2x or 2.5x modes of the standard DX4 
processor. 

Differences Between DX2 and OverDrive Processors. One of the most common 
questions about the DX2/OverDrive processors is, "What's the difference between a DX2 
chip and an OverDrive chip?" Although the advertisements are somewhat misleading, 
the DX2 and OverDrive processor chips actually are the same thing. The real difference is 
the way that they are sold and in the amenities that are (or are not) included. The simple 
answer is that if the chip comes installed in a system, it's a DX2; if it comes in an Intel 
retail upgrade kit, it's an OverDrive processor. 

OverDrive processors are DX2 chips that are sold as end-user-installable upgrades. Like 
math coprocessors, these processors are available at retail outlets and carry either a 



176 Chapter 6 — Microprocessor Types and Specifications 

limited lifetime warranty or a three-year warranty from Intel. Included with OverDrive 
processors are a user guide, a utilities disk, a chip-extractor tool, and a grounding strap. 
OverDrive processors for 25 MHz and 33 MHz systems also include a heat sink, which 
already is attached to the top surface of the chip. Although not all systems have poor- 
enough air circulation to require the heat sink, its presence increases the number of sys- 
tems that can use the OverDrive chips. Technical support direct from Intel is provided 
with each OverDrive processor. 

DX2 chips are the raw CPUs, which are sold in quantity only to OEMs (original 
equipment manufacturers), which install the chips in their systems as the primary micro- 
processors. The DX2 chips are sold in bulk and do not include the packaging, documen- 
tation, software utilities, extractor tool, and other items that are part of the retail 
package. DX2 chips also do not include a heat sink from Intel; it is up to the system 
manufacturer to determine whether a heat sink is needed for a particular application and 
to add one if it is needed. 

The raw DX2 CPUs are classified by Intel as OEM products and are warranted only to the 
OEM or authorized Intel distributor for one year from the ship date. When that OEM or 
distributor sells the system or the CPU, that company extends the warranty to the pur- 
chaser. The warranty and support for a raw 486DX2 come from the company from 
which you purchase your system or the 486DX2 CPU, not from Intel. 

"Vacancy." Perhaps you saw the Intel advertisements — both print and television — that 
featured a 486SX system with a neon Vacancy sign pointing to an empty socket next to 
the CPU chip. Unfortunately, these ads were not very informative, and they made it 
seem that only systems with the extra socket could be upgraded. When I first saw these 
ads, I was worried because I had just purchased a 486DX system, and the advertisements 
implied that only 486SX systems with the empty OverDrive socket were upgradable. 
This, of course, was not true, but the Intel advertisements surely did not communicate 
that fact very well. 

I later found out that upgradability does not depend on having an extra OverDrive 
socket in the system and that virtually any 486SX or DX system can be upgraded. The 
secondary OverDrive socket was designed simply to make upgrading easier and more 
convenient. Even in systems that have the second socket, you can actually remove the 
primary SX or DX CPU and plug the OverDrive processor directly into the main CPU 
socket, rather than into the secondary OverDrive socket. 

In that case, you would have an upgraded system with a single functioning CPU in- 
stalled; you could remove the old CPU from the system and sell it or trade it in for a 
refund. Unfortunately, Intel does not offer a trade-in or core-charge policy; it simply does 
not want your old chip. For this reason, some people saw the OverDrive socket as being a 
way for Intel to sell more CPUs. Some valid reasons exist, however, to use the OverDrive 
socket and leave the original CPU installed. 

One reason is that many PC manufacturers void the system warranty if the CPU has been 
removed from the system. Also, when systems are serviced, most manufacturers require 
that the system be returned with only the original parts; you must remove all add-in 



Intel Processors 177 

cards, memory modules, upgrade chips, and similar items before sending the system in 
for servicing. If you replace the original CPU when you install the upgrade, returning the 
system to its original condition will be much more difficult. 

Another reason for using the upgrade socket is that if the main CPU socket is damaged 
when you remove the original CPU or install the upgrade processor, the system will not 
function. By contrast, if a secondary upgrade socket is damaged, the system still should 
work with the original CPU. 

If you think that damaging the socket or chip is not a valid concern, you should know 
that it typically takes 100 pounds of insertion force to install a chip in a standard 169- 
pin screw machine socket. With this much force involved, you easily could damage 
either the chip or socket during the removal-and-reinstallation process. 

Many motherboard manufacturers began using low-insertion-force (LIF) sockets, which 
typically require only 60 pounds of insertion force for a 169-pin chip. With the LIF or 
standard socket, I usually advise removing the motherboard so that you can support the 
board from behind when you insert the chip. Pressing down on the motherboard with 
60 to 100 pounds of force can crack the board if it is not supported properly. A special 
tool also is required to remove a chip from one of these sockets. 

Nowadays, nearly all motherboard manufacturers are using zero-insertion-force (ZIF) 
sockets. These sockets almost eliminate the risk involved in upgrading because no inser- 
tion force is necessary to install the chip. Most ZIF sockets are handle-actuated; you sim- * 
ply lift the handle, drop the chip into the socket, and then close the handle. This design 
makes replacing the original processor with the upgrade processor an easy task. Because O 
it is so simple to perform the upgrade with a ZIF socket, most motherboards that use M 
such a socket have only one processor socket rather than two. This arrangement is a O 
bonus: the unnecessary second socket does not waste the additional motherboard space, 
and you are forced to remove the otherwise-dormant original processor, which you then jf 
can sell or keep as a spare. 

If a ZIF socket is not used, it is usually much easier to install an upgrade processor in an 
empty OverDrive socket than it is to remove the original CPU and then install the up- 
grade chip in the CPU socket. For these reasons, Intel now recommends that all 486 
systems (SX and DX) use the two-socket approach or (more likely) use a single ZIF socket 
for the primary CPU as well as for any later upgrades. 

Most single-socket systems can take any of the 486-family chips from the 486SX to the 
DX and the DX2/OverDrive. These boards usually have a set of jumpers or switches that 
enable you to select the type and speed of CPU that you are installing. In systems that 
have no second socket or ZIF socket, you may be more restricted in terms of the types of 
upgrades that you can install. 

Some motherboards now include sockets beyond the original 169-pin OverDrive socket 
(now officially called Socket 1) for use in additional upgrades. These larger sockets can be 
both primary CPU sockets and OverDrive sockets. This design not only accommodates 
the original 486DX or DX2 processor, but also allows for an upgrade to the next level of 
OverDrive CPU based on the Intel Pentium processors. 



tf 



178 



Chapter 6 — Microprocessor Types and Specifications 



OverDrive Processors and Sockets 

Intel has stated that all its future processors will have OverDrive versions available for 
upgrading at a later date. As a result, Intel has developed a series of socket designs that 
will accommodate not only the original processor with which a system is shipped, but 
also the future OverDrive processor. 

In many cases, the future OverDrive unit will be much more than just the same type of 
processor running at a higher clock rate. Although the original OverDrive series of pro- 
cessors for the 486SX and 486DX chip simply were clock-doubled versions of essentially 
the same chips, Intel plans OverDrive upgrades that go beyond this level. For example, 
the company already has designed OverDrive-style single-chip upgrades for DX2, DX4, 
and Pentium systems. 

This new processor will require a larger socket than the original processor does; the addi- 
tional pins are reserved for the new processor when it is ready. Intel is making available 
the pin specifications and some functions of the new processors so that motherboard 
designers can prepare now by installing the proper sockets. Then, when the OverDrive 
processor becomes available, all the end user will have to do is purchase it and install the 
new chip in place of the original one. To make the process easy, Intel now requires that 
all these sockets be of ZIF (zero insertion force) design. 

Intel has created a set of socket designs, named Socket 1 through Socket 8. Each socket is 
designed to support a different range of original and upgrade processors. Table 6.10 
shows the specifications of these sockets. 



Table 6.10 Intel 486/Pentium CPU Socket Types and Specifications 



Socket 
Number 


No. of 
Pins 


Pin 
Layout 


Voltage 


Supported Processors 


Socket 1 


169 


1 7x1 7 PGA 


5v 


SX/SX2, DX/DX2*, DX4 OverDrive 


Socket 2 


238 


19x19 PGA 


5v 


SX/SX2, DX/DX2*, DX4 OverDrive, 
486 Pentium OverDrive 


Socket 3 


237 


19x19 PGA 


5v/3.3v 


SX/SX2, DX/DX2, DX4, 486 Pentium 
OverDrive 


Socket 4 


273 


21x21 PGA 


5v 


Pentium 60/66, Pentium 60/66 OverDrive 


Socket 5 


320 


37x37 SPGA 


3.3v 


Pentium 75-1 33, Pentium 75+ OverDrive 


Socket 6** 


235 


1 9x1 9 PGA 


3.3v 


DX4, 486 Pentium OverDrive 


Socket 7 


321 


37x37 SPGA 


VRM 


Pentium 75-200, Pentium 75+ OverDrive 


Socket 8 


387 


dual pattern 
SPGA 


VRM 


Pentium Pro 



*DX4 also can be supported with the addition of an aftermarket 3.3v-regulator adapter. 

**Socket 6 was a paper standard only and was never actually implemented in any systems. 

PGA = Pin Grid Array 

SPGA = Staggered Pin Grid Array 

VRM = Voltage Regulator Module 



The original OverDrive socket, now officially called Socket 1, is a 169-pin PGA socket. 
Motherboards that have this socket can support any of the 486SX, DX, and DX2 



Intel Processors 



179 



processors, as well as the DX2/OverDrive versions. This type of socket is found on most 
486 systems that originally were designed for OverDrive upgrades. Even if your system 
has only a 168-pin version (technically not Socket 1), you still can get DX2 chips with 
the correct pinout that plugs right in. You even can install a DX4 triple-speed processor 
in this socket by using a voltage-regulator adapter. Figure 6.1 shows the pinout of 
Socket 1. 



s 


17 16 15 14 


13 


12 


11 


10 9 8 


7 


6 


5 


4 3 


2 


1 




ADS# A4 A6 Vss 

o o o 


A10 

o 


o 


o 


Vss Vss Vss 

o o o 


A12 

o 


vss 

o 


o 


NC A23 




O 


6 


s 


R 


NC BLAST* A3 V cc 

o o o o 


o 


A11 

o 


6 


o o o 


A15 

o 


6 


A18 

o 





A25 

o 


6 


R 


Q 


PCHK# PLOCK# BREO A2 

o o o o 


o 


6 


o 


A13 A16 A20 

o o o 


a;; 

o 


A24 

o 


A21 

o 


A19 A17 

o o 


o 


A31 

o 


Q 


P 


V ss V cc HLDA 

o o o 




















A30 

o 


A29 







P 




















N 


W/R# M/10#LOCK# 

o o o 




















DPO 

o 


D1 




D2 




N 


M 


V ss V cc D/C# 

o o o 




















o 


o 





M 


L 


V ss V cc PWT 

o o o 




















D7 

o 


D6 







L 


K 

J 


V ss V cc BEO# 

o o o 

PCD BE1# BE2# 

o o o 










Socket 1 










D14 

o 
o 


o 






Vcc 




K 
J 


H 


V ss V cc BRDY# 

o o o 




















DP2 

o 


D3 




6 


H 


G 


V ss V cc NC 

O O O 




















D12 

o 


Vcc 

O 


o 


G 


F 


BE3# RDY# KEN# 

o o o 




















D15 




O 


o 


F 


E 


V ss V cc HOLD 


















[— 




D10 




o 





E 


D 


BOFF# BS8# A20M# 

o o o 
















r 


KEY D17 




D13 

o 


DS 

o 


D 


















C 


BS16# RESET FLUSH #NC 

o o o o 


NC 

o 


NC 

o 


NC 

o 


NC D30 D2B 

o o o 


L'CG 

o 


L>27 

o 


o 


Vcc CLK 

o o 


o 


D11 

o 


C 


B 


EADS# NC MMI UP# 

o o o o 


■;C 




NC 




O 


NC V cc D31 

o o o 


o 


LCC 

o 


o 


o o 


D21 




D19 




B 


A 


AHOLD INTR IGNNE# NC 

o o o o 


FERR» 




NC 







NC V ss D29 

o o o 





D2'l 

o 


DPS 

o 


D23 NC 

o o 





o) 


A 


17 16 15 14 


13 


12 


11 


10 9 8 


7 


6 


5 


4 3 


2 


1 





# 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Figure 6.1 

Intel Socket 1 pinout. 

The original DX processor draws a maximum 0.9 amps of 5v power in 33 MHz form 
(4.5 watts) and a maximum 1 amp in 50 MHz form (5 watts). The DX2 processor or 
OverDrive processor draws a maximum 1.2 amps at 66 MHz (6 watts). This minor in- 
crease in power requires only a passive heat sink consisting of aluminum fins that are 
glued to the processor with thermal transfer epoxy. OverDrive processors rated at 
40 MHz or less do not have heat sinks. 

When the DX2 processor was released, Intel already was working on the new Pentium 
processor. The company wanted to offer a 32-bit, scaled-down version of the Pentium as 
an upgrade for systems that originally came with a DX2 processor. Rather than just in- 
creasing the clock rate, Intel created an all-new chip with enhanced capabilities derived 
from the Pentium. 

The chip, code-named the P24T and officially called the Pentium OverDrive Processor, 
will plug into a processor socket with the Socket 2 or Socket 3 design. These sockets will 



180 Chapter 6 — Microprocessor Types and Specifications 

hold any 486 SX, DX, or DX2 processor, as well as the Pentium OverDrive. Because this 
chip is essentially a 32-bit version of the (normally 64-bit) Pentium chip, many have 
taken to calling it a Pentium-SX. It is available in 25/63 MHz and 33/83 MHz versions. 
The first number indicates the base motherboard speed, while the second number indi- 
cates the actual operating speed of the Pentium OverDrive chip itself. As you can see, it is 
a clock-multiplied chip that runs at two and one-half times the motherboard speed. 

The Pentium OverDrive chip also includes a 32K internal Level 1 cache, and the same 
superscalar (multiple instruction path) architecture of the real Pentium chip. Because it is 
hampered by the 32-bit motherboard design, as well as a lower speed than most of the 
true Pentium chips, the performance gain is not that great. In fact, the 83 MHz version 
performs only slightly better than a DX4-100 processor, and less than a true Pentium 60 
or 75, even though it costs significantly more money. I would not recommend this chip 
as an upgrade for most 486 systems. Instead, you could get a DX4-100 or DX4-120 for 
much less, or for a little more money simply upgrade to a true Pentium motherboard and 
processor. 

One interesting feature of the Pentium OverDrive processor that you will likely see on 
more Intel processors in the future is the built-in active heat sink. This is basically a fan 
that is clipped right onto the chip. Unlike the poorly implemented aftermarket CPU fan 
setups, this one draws power directly from the CPU itself, and can be easily undipped 
and changed if it ever should fail. Also, if the fan fails while the system is operating, the 
CPU will automatically detect this condition and drop from a 2.5x multiplication of the 
motherboard speed to a lx (non-multiplied) speed. At the lx speed (25 or 33 MHz in 
most cases), the chip will not get hot enough to overheat, even with the fan stalled. I 
expect to see this intelligent heat sink fan setup implemented on more Intel processors 
in the future. 

Figure 6.2 shows the pinout configuration of the official Socket 2 design. 

Notice that although the new chip for Socket 2 is called Pentium OverDrive, it is not a 
full-scale (64-bit) Pentium; the chip is more like a Pentium SX. Most manufacturers that 
claim to have Pentium-ready systems really mean that their systems have a Socket 2 
processor socket that will accommodate the Pentium OverDrive chip in the future. 

Intel released the design of Socket 2 a little prematurely and found that the chip ran too 
hot for many systems. The company solved this problem by adding a special Active Heat 
Sink to the Pentium OverDrive processor. This active heat sink is a combination of a 
standard heat sink with a built-in electric fan. Unlike the aftermarket glue-on or clip-on 
fans for processors that you may have seen, this one actually draws 5v power directly 
from the socket to drive the fan. No external connection to disk drive cables or the 
power supply is required. The fan/heat sink assembly clips and plugs directly into the 
processor, providing for easy replacement should the fan ever fail. 

Another requirement of the active heat sink is additional clearance — no obstructions for 
an area about 1.4 inches off the base of the existing socket to allow for heat-sink clear- 
ance. In systems that were not designed with this feature, the Pentium OverDrive up- 
grade will be difficult or impossible. 



Intel Processors 



181 



19 


A 


B 


C 


D 


E 


F 


G 


H 


J 


K 


L 


M 


N 


P 


Q 


R 


S 


T 


U 


19 


O 


O 


O 


o 


O 


O 


o 


O 


O 


O 


O 


O 


O 


O 


O 


O 


o 


o 


O 




NC 


PEG 


Vss 


Vcc 


Vss INIT 


vss 


vss 


Vcc 


Vcc 


Vcc 


Vss 


Vss 


RES Vss 


Vcc 


Vss 


PL:- 


NEC 




18 





o 


o 


o 


o 


O 


o 


O 


o 


o 


o 


o 


o 


o 


o 


o 


o 


o 


o 


18 




RES AHOLD EADS# BS16#BOFF#Vss 


BE3* 


Vss 


Vss 


PCD 


Vss 


Vss 


Vss 


W/R# Vss 


PCHK* 


NC 


ADS# 


PEG 




17 





o 


o 


o 


o 


o 


o 


O 


O 


o 


O 


o 





o 


o 








o 


o 


17 




Vss 


NIP 


PEG 


RESET BSB# Vcc 


HDY# 


Vcc 


Vcc 


BEI = 


Vcc 


Vcc 


Vcc 


M/10# Vcc PLOCK* BLASTS A4 


Vss 




16 


o 


o 


O 


o 


o 


o 


o 











o 


o 


o 


o 


o 


o 


o 


o 





16 




Vcc 


GN\G 


NMI FLUSH#A20M«HOLD 


KEN#STPCLK 




ecc- 


BE0# 


PWT 


D/C# LOCK* HLDA BREQ 


A3 


A3 


vcc 




15 


o 





o 


o 


• 


• 


• 












• 


• 


• 


o 


o 


o 





15 




Vss 

o 


;=G 

o 


up# 
O 


INC 


PLUG PLUG 


PLUG 












PLUG 


PLUG PLUG 


A2 

o 


Vcc 

o 


vss 


Vss 




14 


o 


• 




















* 


O 





14 




v ss 


HE! ■! i = 


INC 


NC 


PLUG 




















'LUC. 


A7 


A8 


A10 


Vss 




13 


o 







NC 


o 


• 
PLUG 




















• 

PLUG 


o 


O 


o 

Vss 





13 


12 


o 








o 

NC 



























o 


O 

Vss 




vss 


12 


11 


o 


o 

NC 


o 

GV1L: 


O 

NC 
























o 

A13 


o 

Vcc 


o 




vcc 


11 


10 


o 








o 










Socket 2 










o 


O 


o 





10 




v cc 


v ss 


Vcc 


L'3C 
























A16 


v cc 


Vss 


vcc 




9 


o 




Das 




D31 


o 

LC3 
























o 





o 

VSS 




Vcc 


9 


8 


o 


o 


o 

V CG 


o 

L'CC 
























p 


O 

A15 


o 

A12 





8 


7 


o 

PEG 




D24 




D25 


o 

LG7 


• 

PLUG 




















• 
PLUG 


o 


o 


o 

Vgg 




VSS 


7 


6 


o 








o 


• 




















• 


o 


•:> 


O 





6 


PEG 


DP3 






PLUG 




















PLUG 








Vss 


5 


o 








o 


o 


• 


• 












• 


• 


• 


o 


o 


o 





5 




v ss 


D23 


v ss 


v cc 


KEY P 


LUC 


PLUG 












PLUG 


PLUG PLUG 


A19 


Vgs 


\c 


VsS 




4 


o 








o 


o 


o 


o 


o 














o 


o 


o 


o 


o 


O 





4 




v cc 


RES 


v ss 


CLK 


D1T 


310 


D15 


D12 


DP2 


D16 


D14 


D7 


CM 


DPO A30 


A17 


va: 


A23 


VCC 




3 


o 








o 


o 




















o 


o 


o 


o 


o 


o 


o 





3 




v ss 


D22 


D21 


D18 


D13 


cc 


D8 


Vcc 


D3 


DS 


Vcc 


DC 


v cc 


D 


A29 


v ss 


A25 


A23 


Vss 




2 


• 


o 





o 


o 


o 














o 


o 


o 


o 


o 


O 


o 


o 





2 




PLUG 


D20 


D19 


D11 


DS 


'ss 


DP1 


v S s 


v ss 


Vcc 


v ss 


v ss 


v ss 


D2 


DO 


A31 


"-- 


A27 


PEG 




1 


• 


• 





o 


o 


o 

















o 


o 


o 


o 


o 


o 


o 





1 




PLUG 


['LUG 






Vgg 


E5 


;-G 












PEG 


RES Vgs 






NEC 


PEG 






\_ 








































A 


B 


c 


D 


E 


F 


G 


H 


J 


K 


L 


M 


N 


P 


Q 


R 


s 


T 


u 



Figure 6.2 

238-pin Intel Socket 2 configuration. 

Another problem with this particular upgrade is power consumption. The 5v Pentium 
OverDrive processor will draw up to 2.5 amps at 5v (including the fan) or 12.5 watts, 
which is more than double the 1.2 amps (6 watts) drawn by the DX2 66 processor. Intel 
did not provide this information when it established the socket design, so the company 
set up a testing facility to certify systems for thermal and mechanical compatibility with 
the Pentium OverDrive upgrade. For the greatest peace of mind, ensure that your system 
is certified compatible before you attempt this upgrade. 

Figure 6.3 shows the dimensions of the Pentium OverDrive processor and active heat 
sink/fan assembly. 

Because of problems with the original Socket 2 specification and the enormous heat 
the 5v version of the Pentium OverDrive processor generates, Intel came up with an 
improved design. The new processor, officially called the DX4 OverDrive processor, actu- 
ally is the same as the Pentium OverDrive processor, with the exception that it runs on 
3.3v and draws a maximum 3.0 amps of 3.3v (9.9 watts) and 0.2 amps of 5v (1 watt) to 
run the fan, for a total 10.9 watts. This configuration provides a slight margin over the 
5v version of this processor. The fan will be easy to remove from the OverDrive processor 
for replacement, should it ever fail. 



# 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



182 



Chapter 6 — Microprocessor Types and Specifications 



r "I Required Airspace 



0.20" 



0.40 



n 



-1.963"- 
-1.840"- 



Overdrive Processor 
Active Fan/Heatsink Unit 



-i 



Adhesive 



Overdrive Processor PGA Package 



rm 



tr 



1.370' 



0.800" 0.970" 
I 0.010" 

± 



♦ t 
J 0.160" 



Figure 6.3 

Physical dimensions of the Intel Pentium OverDrive processor and active heat sink. 

To support both the new DX4 processor, which runs on 3.3v, and the 3.3v DX4 
(Pentium) OverDrive processor, Intel had to create a new socket. In addition to the new 
3.3v chips, this new socket supports the older 5v SX, DX, DX2, and even the 5v Pentium 
OverDrive chip. The design, called Socket 3, is the most flexible upgradable 486 design. 

Figure 6.4 shows the pinout specification of Socket 3. 

Notice that Socket 3 has one additional pin and several others plugged compared with 
Socket 2. Socket 3 provides for better keying, which prevents an end user from acciden- 
tally installing the processor in an improper orientation. One serious problem exists, 
however: this socket cannot automatically determine the type of voltage that will be 
provided to it. A jumper is likely to be added on the motherboard near the socket to 
enable the user to select 5v or 3.3 v operation. Because this jumper must be manually set, 
however, a user could install a 3.3v processor in this socket when it is configured for 5v 
operation. This installation will instantly destroy a very expensive chip when the system 
is powered on. It will be up to the end user to make sure that this socket is properly con- 
figured for voltage, depending on which type of processor is installed. If the jumper is set 
in 3.3v configuration and a 5v processor is installed, no harm will occur, but the system 
will not operate properly unless the jumper is reset for 5v. 

The original Pentium processor 60 MHz and 66 MHz versions had 273 pins and would 
plug into a 273-pin Pentium processor socket — a 5v-only socket, because all the original 
Pentium processors run on 5v. This socket will accept the original Pentium 60 MHz or 66 
MHz processor, as well as the OverDrive processor. 

Figure 6.5 shows the pinout specification of Socket 4. 

Somewhat amazingly, the original Pentium 66 MHz processor consumes up to 3.2 amps 
of 5v power (16 watts), not including power for a standard active heat sink (fan), whereas 
the 66 MHz OverDrive processor that will replace it consumes a maximum 2.7 amps 
(13.5 watts), including about 1 watt to drive the fan. Even the original 60 MHz Pentium 



Intel Processors 



183 



19 


A 


B 


C 


D 


E 


F 


G H 


J K L 


M 


N P 


Q 


R 


S 


T 


U 


19 


O 


O 

FES 


O 

Vss 


O 

Vcc 


o o 

Vss INIT 


o o 

Vss V S s 


o o o 


O 

Vss 


o o o 

V ss RES Vgs 


O 

Vcc 


o 


o 

lib:- 


O 

RES 


18 


O o o 

RES AHOLD EADS# BS16#BOFF#Vss 


o o 

BE3# Vss 


o o o 

Vss PCD Vss 


o 

Vss 


o o o 

Vss W/R# Vss 


o 

'SFK 


o 

INC 


o 

ADS# 


o 

HSS 


18 


17 




Vss 


o 


o 

FES 


o o 

RESET BS8# Vcc 


o o 

RDV# Vcc 


O O O 

Vcc BE1# Vcc 


o 

Vcc 


o o o o o o 

Vcc M/10# Vcc PLOCK* BLASTS A4 


o 

Vss 


17 


16 


o 

Vcc 


o o o 

GNNE# NMI FLUSH 


o o 

A20MSHOLD 


o o 

KEN#STPCLK 


o o o 

brdv* BE2# BE0# 


o 

PWT 


o o o o 

D/C# LOCK# HLDA BREQ 


O 


o 

AB 


o 

Vcc 


16 


15 
14 


o 

Vss 

o 


o 

Fl-S 

o 

fuii- 




o 

INC 


o 

MS 

o 

NC 


• • 
PLUG PLUG 


• 

PLUG 






• • • 

PLUG PLUG PLUG 


q 



o 

Vcc 

O 


o 

VSS 


o 

Vss 


15 
14 


• 
PLUG 












* 

PLUG 


q 


o 

vss 


13 


o 


o 

:NC 




INC. 


o 


• 
PLUG 












• 
PLUG 


o 


O 


o 

VSS 




Vss 


13 


12 


O 


o 

v ss 





o 

111. 
















o 


o 


O 

Vss 


o 

vss 


12 


11 
10 


O 
O 


O 

INC 

o 


o 

SMI-; 



VCC 


o 

111. 

o 

D30 








Socket 3 








o 
o 


o 
o 


o 




vcc 



Vcc 


11 
10 


9 


O 








o 

roll 






















o 

Vss 


o 

Vcc 


9 


8 


O 

V ss 


o 

Vss 


o 

Vcc 


o 
















o 


o 

A16 


o 

A12 


o 


8 


7 


o 

RES 


o 

D24 


O 

D25 


o 


• 

PLUG 












• 

I'LUG 


o 


o 


o 

v ss 


o 

Vss 


7 


6 


o 

RES 


o 

DP3 


o 


o 


• 

PLUG 












• 

PLUG 


q 


o 

A18 


O 


o 

Vss 


6 












5 


o 

v ss 


•:■ 


o 





o 

KEY P 


• 

LUG 


• 
PLUG 






• • • 

PLUG PLUG PLUG 





o 

Vss 


o 

i.e. 


o 

vss 


5 


4 


O 


o 

RES 


o 


o 

CLK 


o 


o 

110 


o o 

D15 D12 


o o o 

DP2 D16 D14 




D7 


o o o 

04 DPO A30 


q 


o 

vcc 


o 


o 

Vcc 


4 


3 


• 

PLUG 


o 

D22 




D21 


o 


o 

D13 


O 


o o 

Da v cc 


o o o 

D3 D5 V cc 


o 

DB 


o o 

Vcc D1 


o 

A29 


o 

v ss 


o 


q 


o 


3 


2 


• 
PLUG 


-9, 


o 

D1S 


o 


o 





o o 

DPI V gs 


o o o 


o 


o o 


o 

DO 


o 


o 


q 




FES 


2 


1 


o 

KEY 


• 
PLUG 


• 
PLUG 


o 


o 

v ss 


o 

ES 


o o 

RES Vgg 


o o o 

Vcc V c c v cc 


o 


o o o 

RES RES V S s 


o 


o 

Vgs 


o 

lib:- 


o 

RES 


1 




\_ 
































A 


B 


C 


D 


E 


F 


G H 


J K L 


M 


N P 


Q 


R 


s 


T 


u 



Figure 6.4 

237-pin Intel Socket 3 configuration. 

processor consumes up to 2.91 amps at 5v (14.55 watts). It may seem strange that the 
replacement processor, which likely will be twice as fast, will consume less power than 
the original, but this has to do with the manufacturing processes used for the original 
and OverDrive processors. 

Although both processors will run on 5v, the original Pentium processor was created 
with a circuit size of 0.8 microns, making that processor much more power-hungry than 
the newer 0.6-micron circuits used in the OverDrive and the other Pentium processors. 
Shrinking the circuit size is one of the best ways to decrease power consumption. Al- 
though the OverDrive processor for Pentium-based systems indeed will draw less power 
than the original processor, additional clearance may have to be allowed for the active 
heat sink (fan) assembly that is mounted on top. As in other OverDrive processors with 
built-in fans, the power to run the fan will be drawn directly from the chip socket, so no 
separate power-supply connection is required. Also, the fan will be easy to replace should 
it ever fail. 

When Intel redesigned the Pentium processor to run at 75, 90, and 100 MHz, the com- 
pany went to a 0.6-micron manufacturing process as well as 3.3v operation. This change 
resulted in lower power consumption: only 3.25 amps at 3.3v (10.725 watts). Therefore, 
the 100 MHz Pentium processor can use far less power than even the original 60 MHz 
version. The newest 120/133 Pentium chips use an even smaller die 0.35-micron 



# 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



184 



Chapter 6 — Microprocessor Types and Specifications 



A 


1 


2 3 4 


5 


6 


7 


8 


9 


10 11 12 


13 


14 


15 


16 


17 


18 


19 


20 


21 


A 


/o 




M 1i>EVVBES VCC VCC 


o 

VCC 


o 

vcc 


O 

vcc 


O 

DPZ 


o o o 

D23 VCC VCC 


O 

vcc 


O 

VCC 


O 

vcc 


O 

vcc 


O 

vcc 


O 

vcc 




DP5 


O 


o 

D45 


B 


o 


o o o 

BP2 BP3 D6 


O 

7SS 


o 

VSS 


o 

VSS 


O 

VSS 


O 

D17 


o o o 

D24 VSS VSS 


O 

VSS 


O 

VSS 


O 

VSS 


O 

VSS 


O 

VSS 


O 

VSS 


o 

D41 


o 

D47 


o 


B 


C 


o 

vcc 


o 

IERR#PM1/BP1D4 


O 

DP1 


o 

D18 


o 

D22 


O 

D25 


o 

DZS 


o o o 

D31 D26 D9 


O 

Did 


O 

DI2 


O 


O 


O 

D33 


O 

D36 


o 

D34 


o 

LTO 


o 

D52 


c 


D 


o 

vcc 


o o o 

Morepo Do D13 


o 

315 


o 


o 

D20 


O 


o 

D27 




D32 D28 D30 


O 


O 


O 


O 

d:7 


O 


O 

DP4 


o 


o 

D42 


o 

D44 


D 


E 
F 




vcc 

O 

vcc 


O 

VSS D1 D2 



VSS D3 DB 


o 

311 




















• 

» :; 


O 

Dli? 

O 

D51 


o 

DPS 

o 

D49 


o 

D54 

o 

D57 


o 

DP7 

o 

vcc 


E 
F 
























G 


o 

vcc 


o o o 

VSS D5 D7 
























o 

D53 


o 

D66 


o 

VSS 


O 

vcc 


G 


H 


O 

vcc 


o o o 

VSS FERRS DPO 
























o 

D63 


o 


o 

VSS 


O 


H 


J 


O 

VSS 


o o o 

U KEN#CACHE# 
























o 

D58 


o 

D62 


o 

VSS 


O 

vcc 


J 


K 


O 

VSS 


o o o 

VSS NA# BOFF# 
























o 

CLK 


o 

D61 


O 

VSS 


O 

vcc 


K 


L 


O 

VSS 


o o o 

AHOLD NC BRDY# 












Socket 4 












o 

RESET 


o 

Deo 


o 

VSS 


O 

vcc 


L 


M 


O 

VSS 


o o o 
























o 

PENS 


O 


o 

VSS 


O 

vcc 


M 


N 


O 

vcc 


o o o 

VSS W/R# NC 
























o 

INTR 


o 


o 

VSS 


O 

vcc 


N 


P 


O 

vcc 


O O O 

VSS AP ADS# 
























o 

SMI# 


o 

VIE. 


o 

VSS 


O 

vcc 


P 


Q 


O 

vcc 


o o o 

VSS HLDA BE1# 
























o 

VCC 


o 


o 

VSS 


O 

vcc 


Q 


R 
S 


O 

vcc 

O 

vcc 




VSS PCHK#SCYC 



VSS PWT BE5# 
























o 

R/S# 



mil; 


o 

NC 

o 




VSS VCC 

O 

GNNES TDO 


R 
S 


• 

>lug 




















• 

Plug 


T 


O 

vcc 


o o o 

VSS BUSCHKff TCK SN 


o 


o 

BE4# 


o 


O 

BTO 




A2B 


o o o 

A19 A17 A15 




A13 




All 




A9 


o 

A7 


o 

A3 


o 


o 

BT 


o 

Ml: 





T 


U 


o o o o 

VCC FLUSH# PRDY BE0# A 


o 


o 

be:- 


o 

BE6S 


o 


° 


o o o 




A14 




A12 




A10 


O 

A8 


O 


o 


o 





O 

A21 


U 


V 


o 


o o o 

BREQLOOK* D/C# h 


o 

OLD 





o 

VSS 


o 

VSS 


o 

VSS 


o o o 

VSS VSS VSS 




VSS 




VSS 


o 

VSS 


O 

VSS 


O 

VSS 


o 

VSS 


o 

A31 


9 




A27 


V 


w 


o 

BE7# 




HIT#APCHK#PCD 


o 

A30 


o 

vcc 


o 

vcc 


o 

vcc 


o 

vcc 


o o o 

VCC vcc VCC 


O 

VCC 


O 

VCC 


o 

vcc 


O 

vcc 


O 

vcc 


o 

VCC 





o 

BT3 


O 

BT1 


W 


1 


2 3 4 


5 


6 


7 


8 


9 


10 11 12 


13 


14 


15 


16 


17 


18 


19 


20 


21 



Figure 6.5 

273-pin Intel Socket 4 configuration. 

process. This results in even lower power consumption and allows the extremely high 
clock rates without overheating. 

The Pentium 75/90/100/120/133 processors actually have 296 pins, although they plug 
into the official Intel Socket 5 design, which calls for a total 320 pins. The additional 
pins will be used by what officially is called the Future Pentium OverDrive Processor. 
This socket has the 320 pins configured in a Staggered Pin Grid Array (SPGA), in which the 
individual pins are staggered for tighter clearance. 

Figure 6.6 shows the standard pinout for Socket 5. 

The Future Pentium OverDrive Processor that eventually will use this socket will have an 
active heat sink (fan) assembly that will draw power directly from the chip socket. Intel 
has stated that this chip will require a maximum 4.33 amps of 3.3v to run the chip 
(14.289 watts) and 0.2 amp of 5v power to run the fan (1 watt), which means total power 
consumption of 15.289 watts. This amount is less power than the original 66 MHz 
Pentium processor requires, yet it runs a chip that is likely to be as much as four times 
faster! 

The last 486 socket was created especially for the DX4 and the DX4 (Pentium) OverDrive 
Processor. Socket 6 basically is a slightly redesigned version of Socket 3, which has an 



Intel Processors 



185 



12 3 4 5 6 7 



9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 



. o „„ o „„ o „,„ o _ o „„ o , 



, o„„ o n „ o „,, o „ 



I DB1 DP« 

' Dss ° osa ° 
» o _ O PLUa 



I O D1B o DP1 o nl! DB O np0 O 

VCC VSS VSS D7 DS VCC 

°PLUG D5 iM 

" D. D1 VCC 

°p[cclk°vss° 



' Dia DP7 



3 O H0LD O 

PHi™°PRDV 

, q,* »Tp 

WoHpOHKt 

_ o p ^ HK o ' 

LiAClP PCD 



TDD TDI°»D0 

0„ s O VBa O 
O Nr O v , q O 



9tpclkPvss ( 

NC NC V. 

o Nc o vss < 

.P°P„CMC?,. 
°PEN.°VSS« 

,»,t ,d»neP» 



12 3 4 5 6 7 



9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 



Figure 6.6 

320-pin Intel Socket 5 configuration. 

additional two pins plugged for proper chip keying. Socket 6 has 235 pins and will 
accept only 3.3v 486 or OverDrive processors. Currently, this means that Socket 6 will 
accept only the DX4 and the DX4 (Pentium) OverDrive Processor. Because this socket 
provides only 3.3v, and because the only processors that plug into it are designed to 
operate on 3.3v, no chance exists that potentially damaging problems will occur, like 
those with the Socket 3 design. Most new 486-class systems that come with DX4 chips 
initially will use Socket 6. Figure 6.7 shows the Socket 6 pinout. 

The DX4 100 MHz processor can draw a maximum 1.45 amps of 3.3v (4.785 watts). The 
DX4 (Pentium) OverDrive Processor that eventually will replace that processor will draw 
a maximum 3.0 amps at 3.3v (9.9 watts) and 0.2 amp at 5v (1 watt) to run the fan, for a 
total 10.9 watts. Like all the other OverDrive processors that have active heat sink/fan 
assemblies, the processor has an easy-to-remove fan that can be replaced should it ever 
fail. 



# 



3 

n 

o 

3 

•a 
o 

3 
A 

3 



186 



Chapter 6 — Microprocessor Types and Specifications 



19 


A 


B 


c 


D 


E 


F 


G H 


J K L 


M 


N P 


Q 


R 


S 


T 


u 


19 


• 

PLUG 


O 

RES 


O 

Vgs 


O 

Vcc 


O 

Vgs 


O 

n 


O O 

Vss Vss 


o o o 

Vcc Vcc Vcc 


O 

Vss 


o o o 

Vss RES Vss 


O 

Vcc 


o 

Vss 


o 

RES 


o 

RES 


18 


o o o o o o 

RES AHOLD EADS* BS16#BOFF# Vss 


o o 

SE3# Vss 


o o o 

Vss PCD Vss 


o 

VSS 


o o o 

Vss W/R# Vss 


o 

PCHKt 


o 

NC 


o 

ADSS 


o 

RES 


18 


17 


o 


o 

MR 


o 

RES 


O O O 

RESET BSS# Vcc 


o o 

RDY# Vcc 


o o o 

Vcc BE1# Vcc 


o 

Vcc 


o o o o o o 

Vcc M/10# Vcc PCOCKS BLAST* A4 


o 

Vss 


17 


16 


o o o o 

Vcc IGNNE# NMI FLUSH 


o o 

A20MSHOLD 


o o o o o 

KEN#STPCLK# BRDYS BE2# BE0# 


o 

PW1 


o o o 

D/C# LOCK# HLDA 




:C>EC 




A3 


o 

A3 


O 

Vcc 


16 


15 
14 


o 

Vgs 

o 


o 

RES 

o 

FERRf 


o 

UPS 

O 

NC 




NC 



NC 


• • 

PLUG PLUG 


• 

PLUG 






• • • 
PLUG PLUG PLUG 




o 


o 

Vcc 

O 


o 

Vss 


o 

vss 


15 
14 


• 
PLUG 












* 

P_CG 


o 

A10 


o 

vss 


13 





o 

NC 


o 

INC 





• 

PLUG 












• 

PLUG 








o 

Vss 


o 

vss 


13 


12 


o 


o 


o 




NC 






















O 


o 

VSE 


12 


11 
10 




o 


o 

[IC 

o 


o 

SMR 

o 


o 










Socket 6 








o 

A13 



A16 


o 




o 




o 

VCC: 

o 

Vcc 


11 
10 


9 


o 


o 


o 

D31 





















A20 


o 


o 

Vss 


o 

Vcc 


9 


8 


o 


o 


o 


o 

D26 
















o 


o 

A15 


O 

A12 


o 


8 


7 


o 

RES 


o 

LI2 


o 

D25 


o 

D27 


• 
PLUG 












• 
PLUG 


o 

A24 


o 


o 


o 

Vss 


7 


6 


o 

RES 


o 

DP3 


o 


o 


• 
PLUG 












• 
PLUG 


o 

A21 


o 

A18 


o 


o 

VSS 


6 












5 


o 


o 

LC? 


o 


o 


• 
PLUG P 


• 

_LIC 


• 

PLUG 






• • • 
PLUG PLUG PLUG 




ALB 





o 

NC 


o 

Vss 


5 


4 


o 


o 

RES 


o 




CLK 


o 

D17 




310 


o o 

D15 D12 


o o o 

DP2 DIB D14 


q 


o o o 

D4 DPO A30 




A17 




Vrc 


o 

A23 


o 

Vcc 


4 


3 


• 

PLUG 


o 

D22 


o 

LI2 




D18 




D13 


o 


o o 


o o o 


o 


o c 




A29 







A25 


o 

A26 


o 

Vgs 


3 


2 


• 
PLUG 


o 

D20 


o 

D19 








o 


o o 

DPI v ss 


o o o 


o 


O 

Vgs D2 




DO 




A31 




A28 


o 

A27 


o 

RES 


2 


1 


o 


• 
PLUG 


• 
PLUG 







v ss 


o 

ES 


o o 

RES V ss 


o o o 


o 


o o o 

RES RES V R R 








o 

RES 


o 

RES 


1 




vl 
































A 


B 


C 


D 


E 


F 


G H 


J K L 


M 


N P 


Q 


R 


s 


T 


U 



Figure 6.7 

235-pin Intel Socket 6 configuration. 

The newest socket is Socket 7, which is essentially the same as Socket 5 with one addi- 
tional key pin in the opposite inside corner of the existing key pin. Socket 7 therefore 
has 321-pins total in a 21 x 21 SPGA arrangement. The real difference with Socket 7 is 
not the socket itself, but with the companion VRM (Voltage Regulator Module) that 
must accompany it. 

The VRM is a small circuit board that contains all the voltage regulation circuitry used to 
drop the 5v power supply signal to the correct voltage for the processor. The VRM was 
implemented for several reasons. One is that voltage regulators tend to run hot and are 
very failure-prone. By soldering these circuits on the motherboard, as has been done 
with the Pentium Socket 5 design, you make it very likely that a failure of the regulator 
will require a complete motherboard replacement. Although technically the regulator 
could be replaced, many of them are surface-mount soldered, which would make the 
whole procedure very time-consuming and expensive. Besides, in this day and age, when 
the top-of-the-line motherboards are only worth $250 (less the processor and any 
memory), it is just not cost effective to service them. Having a replaceable VRM plugged 
into a socket will make it easy to replace the regulators should they ever fail. 

Although replaceability is nice, the main reason behind the VRM design is that Intel is 
building new Pentium processors to run on a variety of voltages. Intel has several 
different versions of the Pentium processors that run on 3.3v (called VR), 3.465v (called 
VRE), as well as 2.9v, 2.5v, and even lower in the future. Several of the current 



Intel Processors 



187 



motherboards support the existing 3.3v or 3.465v processors, but few support the new 
2.9v versions. The Pentium processors running at 150 MHz and higher are expected to 
use the 2.9v or lower settings, which must be supplied via a Socket 7 with VRM adapter. 

In other words, if you want to purchase a Pentium board that can be upgraded to the 
next generation of even higher speed processors — as well as be easily repairable should 
the voltage regulators fail — look for a system with a Socket 7 and VRM. 

OverDrive Processor Installation. You can upgrade almost any system with an 
OverDrive processor. The most difficult aspect of the installation is simply having the 
correct OverDrive processor for your system. Currently, 486 OverDrive processors (which 
really are DX2 processors) are available for replacing 486SX and 486DX processors. The 
following table lists all the current and future OverDrive processors with their official 
Intel designations: 



Processor Designation 


Replaces 


Socket 


Heat Sink 


Max. Power 


486SX OverDrive 


486SX 




Socket 1 


Passive 


6 watts 


486DX OverDrive 


486DX 




Socket 1 


Passive 


6 watts 


486DX OverDrive 


486DX 




168-pin* 


Passive 


6 watts 


486 Pentium OverDrive 


486DX2 




Socket 2 or 3 


Active 


1 2.5 watts 


60/66 Pentium OverDrive 


Pentium 


60/66 


Socket 4 


Active 


1 3.5 watts 


75+ Pentium OverDrive 


Pentium 


90/100 


Socket 5/7 


Active 


1 5.289 watts 



*Tlie 168-pin version is designed for the original 486DX socket, which is slightly different from the official 
Socket 1 design. 



Three types of system configurations support the original 486 OverDrive (really DX2) 
processors: 



486SX (Socket 1) 
486DX (Socket 1) 
486DX with standard 168-pin socket 



tf 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Although Intel labels the OverDrive processors for SX or DX systems with a Socket 1 
design, technically, the processors are exactly the same. The 168-pin version was spe- 
cially created for systems that do not have the Socket 1 design, because it was created 
after the original 486DX systems were on the market. Many older 486DX systems will 
need this version of the OverDrive processor, which actually has the same pinout that is 
sold commercially as the DX2 processor, with the exception of the Intel-applied passive 
heat sink. 

These OverDrive chips also are available in different speed ratings. You must select a 
version that is rated at least as fast as your motherboard will run. An OverDrive chip 
rated faster than is necessary will cost more but will work well; an OverDrive chip rated 
at a speed that is less than your motherboard will run will cause the chip to overheat and 
fail. 



188 Chapter 6 — Microprocessor Types and Specifications 

Most motherboards are speed-switchable, which means that if you currently have a 
25 MHz 486SX system, you can upgrade to the 66 MHz OverDrive (or DX2) processor by 
first switching your motherboard to 33 MHz operation. If you leave the motherboard set 
at 25 MHz, the 66 MHz-rated chip would run at 50 MHz, but you would be missing out 
on potential performance. 

To upgrade any 486SX or DX system that uses dual sockets — and therefore has a vacant 
Socket 1-type OverDrive Processor socket — you simply turn off the system, plug in the 
proper 169-pin OverDrive Processor, and turn the system back on. With the 169-pin 
versions designed for Socket 1, putting the processor in is literally impossible unless it is 
properly oriented with respect to pin 1. If you are using the 168-pin version that does 
not feature the key orientation pin, you must match the pin 1 indicator on the chip 
(usually a dot or a notched corner) with the appropriate designation on the socket (also a 
dot and/or notched corner). If you install the chip out of orientation, you likely will fry 
it when you power up the system. 

To upgrade a system that has only a single processor socket, remove the existing proces- 
sor and replace it with either a 169-pin (SX) or a 168-pin (DX) OverDrive Processor. If the 
system uses a ZIF (zero insertion force) socket, this procedure is very easy; otherwise, you 
must use a pry tool to remove the old chip. 

Intel includes a pry-bar chip-extractor tool for removing the primary CPU, if that is 
necessary. You simply wedge the tool under one side of the chip and then pull to pry the 
chip partially out of the socket. You repeat this step for each of the chip's four sides. 
Then you can lift the loose chip out of the system and store it in a static-protective stor- 
age box (included with the OverDrive upgrade kit). 

After you plug the OverDrive chip in, some systems require you to change jumper or 
switch settings on the motherboard to activate the chip. If you have an SX system, you 
also will have to run your system's setup program, because you must inform the CMOS 
memory that a math coprocessor is present. (Some DX systems also require you to run 
the setup program.) Intel provides a utility disk that includes a test program to verify 
that the new chip is installed and functioning correctly. 

After verifying that the installation functions correctly, you have nothing more to do. 
You do not need to reconfigure any of the software on your system for the new chip. The 
only difference that you should notice is the fact that everything works nearly twice as 
fast as it did before the upgrade. 

Upgrades that use the newer OverDrive chips for Sockets 2-6 are likely to be much easier 
because these chips almost always go into a ZIF socket and therefore require no tools. In 
most cases, special configuration pins in the socket and on the new OverDrive chips take 
care of any jumper settings for you. In some cases, however, you may have to set some 
jumpers on the motherboard to configure the socket for the new processor. 

OverDrive Compatibility Problems. Although you can upgrade most older 486SX or 
486DX systems with the OverDrive processors, some exceptions exist. Four factors can 
make an OverDrive upgrade difficult or impossible: 



Intel Processors 189 



■ BIOS routines that use CPU-dependent timing loops 

■ Lack of clearance for the OverDrive heat sink (25 MHz and faster) 

■ Inadequate system cooling 

■ A 486 CPU that is soldered in rather than socketed 

To start with one of the obvious exceptions, you cannot use a DX2/OverDrive process to 
upgrade a 50 MHz 486DX system, because Intel does not make a DX2 OverDrive that is 
rated to run at the 100 MHz internal clock rate. In that case, you can perform an upgrade 
that is not officially authorized by Intel but that works in most cases: purchase a raw 
DX4 processor and voltage-regulator adapter to install in the 50 MHz 486DX socket. The 
voltage regulator will have a jumper for configuring the speed of the DX4 to 2x, 2.5x, or 
3x operation. In this case, you need to set the jumper to 2x for 100 MHz operation, 
which is the maximum for which the DX4 100 chip is rated. 



Because this upgrade is not officially authorized by Intel, and because Intel does not even sell the 

DX4 chips through retail channels, Intel provides no warranty. Make sure that the vendor from 

which you purchase the DX4 chip will take it back in case it doesn't work. »< 

Ft 
» 

3 

If you want a safer upgrade with an Intel warranty, you can use the DX4 OverDrive chip n 

that is sold through retail channels. This chip has a built-in passive heat sink and an 

integral voltage regulator allowing it to operate in a 5v socket even though the chip runs ^ 

O 
internally on 3. 3 v. Unfortunately, this chip will run only in clock- tripled mode, and the 3 

heat sink is glued on, preventing the installation of a larger one for even more improved 3 

cooling. <* 

Systems that come with DX2, DX4, or Pentium chips installed by the system manufac- 
turer also are eligible for future OverDrive upgrades, which may not yet be available. 

In some rare cases, problems may occur in systems that should be upgradable but are 
not. One of these problems is related to the ROM BIOS. A few 486 systems have a BIOS 
that regulates hardware operations by using timing loops based on how long it takes the 
CPU to execute a series of instructions. When the CPU suddenly is running twice as fast, 
the prescribed timing interval is too short, resulting in improper system operation or 
even hardware lockups. Fortunately, you usually can solve this problem by upgrading the 
system's BIOS. 

Another problem is related to physical clearance. All OverDrive chips for 25 MHz and 
faster systems have heat sinks glued or fastened to the top of the chip. The heat sink can 
add 0.25 to 1.2 inches to the top of the chip. This extra height can interfere with other 
components in the system, especially in small desktop systems and portables. Solutions 
to this problem must be determined on a case-by-case basis. You can sometimes relocate 
an expansion card or disk drive, or even modify the chassis slightly to increase clearance. 



190 Chapter 6 — Microprocessor Types and Specifications 

In some cases, the interference cannot be resolved, leaving you only the option of run- 
ning the chip without the heat sink. Needless to say, removing the glued-on heat sink 
will at best void the warranty provided by Intel and will at worst damage the chip or the 
system due to overheating. I do not recommend removing the heat sink. 

The OverDrive chips can generate up to twice the heat of the chips that they replace. 
Even with the active heat sink/fan built into the faster OverDrive chips, some systems do 
not have enough airflow or cooling capability to keep the OverDrive chip within the 
prescribed safe operating-temperature range. Small desktop systems or portables are most 
likely to have cooling problems. Unfortunately, only proper testing can indicate whether 
a system will have a heat problem. For this reason, Intel has been running an extensive 
test program to certify systems that are properly designed to handle an OverDrive up- 
grade. 

Finally, some systems have the 486SX or DX chip soldered directly into the motherboard 
rather than in a socket. This method is used sometimes for cost reasons because leaving 
out the socket is cheaper; in most cases, however, the reason is clearance. The IBM P75 
portable that I use, for example, has a credit-card-size CPU board that plugs into the 
motherboard. Because the CPU card is close to one of the expansion slots, to allow for 
clearance between the 486 chip and heat sink, IBM soldered the CPU directly into the 
small card, making an OverDrive upgrade nearly impossible unless IBM offers its own 
upgrade via a new CPU card with the DX2 chip already installed. This situation did not 
stop me, of course; I desoldered the DX chip and soldered in a pin-compatible 168-pin 
DX2 processor in its place. I currently am installing a voltage regulator and DX4 
processor. 

To clarify which systems are tested to be upgradable without problems, Intel has com- 
piled an extensive list of compatible systems. To determine whether a PC is upgradable 
with an OverDrive processor, contact Intel via its FaxBACK system (see the vendor list in 
Appendix B) and ask for the OverDrive Processor Compatibility Data documents. These 
documents list the systems that have been tested with the OverDrive processors and 
indicate which other changes you may have to make for the upgrade to work (a newer 
ROM BIOS or setup program, for example). 

One important note about these compatibility lists: if your system is not on the list, the 
warranty on the OverDrive processor is void. Intel recommends OverDrive upgrades only 
for systems that are on the compatibility list. The list also includes notes about systems 
that may require a ROM upgrade, a jumper change, or perhaps a new setup disk. 

Some IBM PS/2 486 systems, for example, may require you to use a new Reference disk 
when you install an OverDrive CPU. You can download the latest version of any PS/2 
Reference disk from the IBM National Support Center Bulletin Board System (NSC BBS), 
which appears in the vendor list. A wise practice is to download the latest version of the 
Reference and Diagnostics disk(s) for any PS/2 system before attempting a processor up- 
grade. 

Notice that the files on the IBM NSC BBS are compressed Reference and Diagnostics disk 
images. To decompress and extract the files in the appropriate format, you need one or 
both of the following files: 



Intel Processors 191 

FILENAME.EXT Contents 

LDF.COM ".DSK" file-extraction program 

TGSFX.COM ".TGO" file-extraction program 

These files contain programs that will create the Reference or Diagnostics disk from the 
compressed DSK or TGO files. 

Pentium OverDrive for DX2 and DX4 Systems. In 1995, the Pentium OverDrive Pro- 
cessor (code-named P24T) became available, while the DX4 (Pentium) OverDrive Proces- 
sor has yet to be released. These chips are virtually identical, except that the first one will 
run on 5v, whereas the DX4 version will run on 3.3v and consume slightly less power. 
Because the Pentium OverDrive chip has not been very successful in the marketplace due 
to high pricing when compared to the real Pentium processor, it now seems unlikely that 
Intel will actually ever sell the 3.3v version. Virtually all 486 systems include either the 
Socket 2 or Socket 3, which is capable of providing the 5v needed by the standard 
Pentium OverDrive chip. 

The Pentium OverDrive Processor is designed for systems that have a processor socket 

which follows the Intel Socket 2 specification. This processor also will work in systems 

that have a Socket 3 design, although you should ensure that the voltage is set for 5v 

rather than 3. 3 v. Likewise, you should make sure that if you are using any type of 3.3v 

processor, you have Socket 3 set for 3.3v operation. Plugging the 3.3v version of the 

OverDrive chip into the Socket 2 design will be impossible; special key pins will prevent 3 

improper insertion. If your system has a 3.3v-only Socket 6 design, the only OverDrive ^ 

processor to get is the DX4 OverDrive Processor. 2 

Besides a 32-bit Pentium core, these processors feature increased clock-speed operation O 

due to internal clock multiplication, and will incorporate an internal Write-Back cache 



(standard with the Pentium). If the motherboard supports the write-back cache function, 
increased performance will be realized. Unfortunately, most motherboards out there, 
especially older ones with the Socket 2 design, only support Write-Through cache. 

In essence, these OverDrive processors are Pentium SX chips, because they will have all 
the features of the real Pentium processors except the 64-bit external data bus; the exter- 
nal data bus of these OverDrive chips will be 32 bits instead. Even so, with the improved 
Pentium core, separate code and Write-Back data caches, higher clock speeds, and other 
enhancements, these processors should nearly double the performance of the systems in 
which they are installed. 

Most of the tests of these OverDrive chips show them to be only slightly ahead of the 
DX4-100 and behind the DX4-120 as well as the true Pentium 60, 66, or 75. Because of 
their higher price compared to these other solutions, the Pentium OverDrive chip has 
not turned out to be a very viable upgrade for most 486 systems. A better choice would 
be a DX4-100 or 120 for a less expensive upgrade, or simply swap out the entire mother- 
board for a new Pentium board complete with a true Pentium processor, and not the 
"Pentium-SX" that the Pentium OverDrive chip represents. 



tf 



3 



192 



Chapter 6 — Microprocessor Types and Specifications 



Pentium 

On October 19, 1992, Intel announced that the fifth generation of its compatible micro- 
processor line (code-named P5) would be named the Pentium processor rather than the 
586, as everybody had been assuming. Calling the new chip the 586 would have been 
natural, but Intel discovered that it could not trademark a number designation, and the 
company wanted to prevent other manufacturers from using the same name for any 
clone chips that they might develop. 

The actual Pentium chip shipped on March 22, 1993. Systems that use these chips were 
only a few months behind. 

The Pentium is fully compatible with previous Intel processors, but it also differs from 
them in many ways. At least one of these differences is revolutionary: the Pentium fea- 
tures twin data pipelines, which enable it to execute two instructions at the same time. 
The 486 and all preceding chips can perform only a single instruction at a time. Intel 
calls the capability to execute two instructions at the same time superscalar technology. 
This technology provides additional performance compared with the 486. 

The standard 486 chip can execute a single instruction in an average of two clock 
cycles — cut to an average of one clock cycle with the advent of internal clock multiplica- 
tion used in the DX2 and DX4 processors. With superscalar technology, the Pentium can 
execute many instructions at a rate of two instructions per cycle. Superscalar architecture 
usually is associated with high-output RISC (Reduced Instruction Set Computer) chips. 
The Pentium is one of the first CISC (Complex Instruction Set Computer) chips to be 
considered superscalar. The Pentium is almost like having two 486 chips under the hood. 
Table 6.11 shows the Pentium processor specifications. 



Table 6.11 Pentium Processor Specifications 



Introduced: 

Maximum rated speeds: 
CPU clock multiplier: 
Register size: 
External data bus: 
Memory address bus: 
Maximum memory: 
Integral-cache size: 
Integral-cache type: 
Burst-mode transfers: 
Number of transistors: 
Circuit size: 

External package: 
Math coprocessor: 
Power management: 
Operating voltage: 



March 22, 1993 (first generation); March 7, 1994 (second generation) 

60, 66 MHz (first generation); 75, 90, 100 MHz (second generation) 

1 x (first generation); 1 .5x-2x (second generation) 

32-bit 

64-bit 

32-bit 

4C 

8K code, 8K data 

2-Way Set Associative, Write-Back Data 

Yes 

3.1 million (60/66 MHz), 3.3 million (75 MHz and up) 

0.8 micron (60/66 MHz), 0.6 micron (75-100 MHz), 0.35 micron 
(120/133 MHz and up) 

273-pin PGA, 296-pin SPGA, Tape Carrier 

Built-in FPU (Floating-Point Unit) 

SMM, enhanced in second generation 

5v (first generation); 3.465v, 3.3v, 2.9v (second generation) 



PGA = Pin Grid Array 

SPGA = Staggered Pin Grid Array 



Intel Processors 193 

The two instruction pipelines within the chip are called the u- and v-pipes. The u-pipe, 
which is the primary pipe, can execute all integer and floating-point instructions. The 
v-pipe is a secondary pipe that can execute only simple integer instructions and certain 
floating-point instructions. The process of operating on two instructions simultaneously 
in the different pipes is called pairing. Not all sequentially executing instructions can 
be paired, and when pairing is not possible, only the u-pipe is used. To optimize the 
Pentium's efficiency, you can recompile software to allow more instructions to be paired. 

The Pentium is 100 percent software-compatible with the 386 and 486, and although all 
current software will run much faster on the Pentium, many software manufacturers 
want to recompile their applications to exploit even more of the Pentium's true power. 
Intel has developed new compilers that will take full advantage of the chip; the company 
will license the technology to compiler firms so that software developers can take advan- 
tage of the superscalar (parallel processing) capability of the Pentium. This optimization 
is starting to appear in some of the newest software on the market. Optimized software 
should improve performance by allowing more instructions to execute simultaneously in 
both pipes. 

To minimize stalls in one or more of the pipes caused by delays in fetching instructions 
that branch to nonlinear memory locations, the Pentium processor has a Branch Target 
Buffer (BTB) that employs a technique called branch prediction. The BTB attempts to pre- 
dict whether a program branch will be taken or not and then fetches the appropriate 
next instructions. The use of branch prediction enables the Pentium to keep both pipe- 
lines operating at full speed. Figure 6.8 shows the internal architecture of the Pentium " 
processor. q 

3 

The Pentium has a 32-bit address-bus width, giving it the same 4G memory-addressing ^ 

capabilities as the 386DX and 486 processors. But the Pentium expands the data bus to 3 

64 bits, which means that it can move twice as much data into or out of the CPU com- 3 

pared with a 486 of the same clock speed. The 64-bit data bus requires that system <* 
memory be accessed 64 bits wide, which means that each bank of memory is 64 bits. 

On most motherboards, memory is installed via SIMMs (Single In-Line Memory Mod- 
ules), which are available in 9-bit-wide and 36-bit-wide versions. Most Pentium systems 
use the 36-bit-wide (32 data bits plus 4 parity bits) SIMMs — four of these SIMMs per bank 
of memory. Most Pentium motherboards have four of these 36-bit SIMM sockets, provid- 
ing for a total two banks of memory. 

Even though the Pentium has a 64-bit data bus that transfers information 64 bits at a 
time into and out of the processor, the Pentium has only 32-bit internal registers. As 
instructions are being processed internally, they are broken down into 32-bit instructions 
and data elements, and processed in much the same way as in the 486. Some people 
thought that Intel was misleading them by calling the Pentium a 64-bit processor, but 
64-bit transfers do indeed take place. Internally, however, the Pentium has 32-bit regis- 
ters that are fully compatible with the 486. 

The Pentium has two separate internal 8K caches, compared with a single 8K or 16K 
cache in the 486. The cache-controller circuitry and the cache memory are embedded in 
the CPU chip. The cache mirrors the information in normal RAM by keeping a copy of 



# 



194 



Chapter 6 — Microprocessor Types and Specifications 



Control 



DP 
Logic 



64-Bit 
Data 
Bus 



32-Bit 

Address 

Bus 



Control 



Bus 
Unit 



Page 
Unit 



64-Bit 64 
Data 
Bus 



Data 



Control 



APIC 



Branch 
Target 
Buffer 



Prefetch 



Address 



TLB 



Code Cache 
8 KBytes 



(256 



Instruction 
Pointer 



Branch Verif. 
& Target Addr 



Prefetch Buffers 



Instruction Decode 



Control 
ROM 



Control Unit 



32 

32-Bit 
Addr. 
Bus 



Address 

Generate 

(U Pipeline) 



Address 

Generate 

(V Pipeline) 



3_ 



Integer Register File 



ALU 
(U Pipeline) 



Barrel Shifter 



ALU 
(V Pipeline) 



32 



32 



32 



Data Cache 
8 KBytes 



32 



32 



Floating 
Point 
Unit 



Control 



-t \ AM H - 



Register File 



Divide 



J^ j Multiply" 



80 



80 



32 



Figure 6.8 

Pentium processor internal architecture. 

the data and code from different memory locations. The Pentium cache also can hold 
information to be written to memory when the load on the CPU and other system com- 
ponents is less. (The 486 makes all memory writes immediately.) 

The separate code and data caches are organized in a two-way set associative fashion, 
with each set split into lines of 32 bytes each. Each cache has a dedicated Translation 
Lookaside Buffer (TLB), which translates linear addresses to physical addresses. You can 
configure the data cache as Write-Back or Write-Through on a line-by-line basis. When 
you use the Write-Back capability, the cache can store write operations as well as reads, 
further improving performance over read-only Write-Through mode. Using Write-Back 
mode results in less activity between the CPU and system memory — an important im- 
provement, because CPU access to system memory is a bottleneck on fast systems. The 
code cache is an inherently write-protected cache because it contains only execution 
instructions and not data, which is updated. Because burst cycles are used, the cache data 
can be read or written very quickly. 



Intel Processors 195 

Systems based on the Pentium can benefit greatly from secondary processor caches (Level 
2), which usually consist of up to 512K or more of extremely fast (15ns or less) Static 
RAM (SRAM) chips. When the CPU fetches data that is not already available in its inter- 
nal processor (Level 1) cache, wait states slow the CPU. If the data already is in the sec- 
ondary processor cache, however, the CPU can go ahead with its work without pausing 
for wait states. 

The Pentium uses a BiCMOS (Bipolar Complementary Metal Oxide Semiconductor) pro- 
cess and superscalar architecture to achieve the level of performance expected from the 
new chip. BiCMOS adds about 10 percent to the complexity of the chip design, but adds 
about 30-35 percent better performance without a size or power penalty. Intel will be 
transitioning back to conventional CMOS designs as the clock speeds of the Pentium and 
Pentium Pro processor increase. There is no performance advantage to BiCMOS at lower 
voltages, and some of the new processors will be running on 2.5v or less. Intel uses the 
BiCMOS process in most of the processors up to 133 MHz, but will use CMOS for any 
faster ones because they will also run at lower voltages. 

All Pentium processors are SL Enhanced, meaning that they incorporate the SMM to 
provide full control of power-management features, which helps reduce power consump- 
tion. The second-generation Pentium processors (75 MHz and faster) incorporate a more 
advanced form of SMM that includes processor clock control, which allows you to 
throttle the processor up or down to control power use. With these more advanced 
Pentium processors, you can even stop the clock, putting the processor in a state of sus- 
pension that requires very little power. The second-generation Pentium processors run 
on 3.3 v power (instead of 5v), reducing power requirements and heat generation even q 

further. 

•a 
o 

For even lower power consumption, Intel has introduced special Mobile Pentium proces- 3 

sors in the 75/90/100 MHz family. These do not use a conventional chip package and are 3 

instead mounted using a new format called Tape Carrier Packaging {TCP). The tape carrier <* 

packaging does not encase the chip in ceramic or plastic as with a conventional chip 
package, but instead covers the actual processor die directly with a thin, protective plas- 
tic coating. The entire processor is less than 1mm thick, or about half the thickness of a 
dime, and weighs less than 1 gram. They are sold to system manufacturers in a roll that 
looks very much like filmstrip. The TCP processor is directly affixed (soldered) to the 
motherboard by a special machine, resulting in a smaller package, lower height, better 
thermal transfer, and lower power consumption. Special solder plugs on the circuit board 
located directly under the processor draw heat away and provide better cooling in the 
tight confines of a typical notebook or laptop system, and no cooling fans are required. 

The Pentium, like the 486, contains an internal math coprocessor or FPU. The FPU in the 
Pentium has been rewritten and performs significantly better than the FPU in the 486, 
yet it is fully compatible with the 486 and 387 math coprocessor. The Pentium FPU is 
estimated to be two to as much as 10 times faster than the FPU in the 486. In addition, 
the two standard instruction pipelines in the Pentium provide two units to handle stan- 
dard integer math. (The math coprocessor handles only more complex calculations.) 
Other processors, such as the 486, have only a single standard execution pipe and one 
integer-math unit. 



tf 



196 Chapter 6 — Microprocessor Types and Specifications 

First-Generation Pentium Processor. At the time of this writing, the Pentium is avail- 
able in two basic designs, each with several versions. The first-generation design is avail- 
able in 60 and 66 MHz processor speeds. This design uses a 273-pin PGA form factor 
and runs on 5v power. In this design, the processor runs at the same speed as the 
motherboard — in other words, a lx clock is used. 

The first-generation Pentium was created through an 0.8-micron BiCMOS process. Unfor- 
tunately, this process, combined with the 3.1 million transistor count, resulted in a die 
that was overly large and complicated to manufacture. As a result, reduced yields kept 
the chip in short supply; Intel could not make them fast enough. The 0.8-micron process 
was criticized by other manufacturers, including Motorola and IBM, which had been 
using 0.6-micron technology for their most advanced chips. The huge die and 5v operat- 
ing voltage caused the 66 MHz versions to consume up to an incredible 3.2 amps or 16 
watts of power, resulting in a tremendous amount of heat — and problems in some sys- 
tems that did not employ conservative design techniques. Often, the system required a 
separate fan to blow on the processor to keep it cool. 

Much of the criticism leveled at Intel for the first-generation Pentium was justified. 
Some people realized that the first-generation design was just that; they knew that new 
Pentium versions, made in a more advanced manufacturing process, were coming. Many 
of those people (including the author of this book) advised against purchasing any 
Pentium system until the second-generation version became available. 

A cardinal rule of computing is never to buy the first generation of any processor. Al- 
though you can wait forever because something better always will be on the horizon, a 
little waiting is worthwhile in some cases. 

Second-Generation Pentium Processor. Intel announced the second-generation 
Pentium (code named P54C) on March 7, 1994. This new processor was introduced in 90 
and 100 MHz versions, with a 75 MHz version not far behind. Eventually, 120 and 133 
MHz versions were also introduced. The second-generation Pentium uses 0.6-micron 
(75/90/100 MHz) BiCMOS technology to shrink the die and reduce power consumption. 
The newer, faster 120 and 133 MHz second-generation versions incorporate an even 
smaller die built on a 0.35-micron BiCMOS process. These smaller dies are not changed 
from the 0.6-micron versions; they are basically a photographic reduction of the P54C 
die. Additionally, these new processors run on 3.3v or even lower power. The 100 MHz 
version consumes a maximum 3.25 amps of 3.3v power, which equals only 10.725 watts. 
The slower 90 MHz version uses only 2.95 amps of 3.3v power, which is only 9.735 
watts. The 75 MHz uses about 6 watts of power and functions reasonably well in laptop 
and portable systems that run on batteries. 

The P54C second-generation Pentium processors come in a 296-pin SPGA form factor 
that is physically incompatible with the first-generation versions. The only way to up- 
grade from the first generation to the second is to replace the motherboard. The second- 
generation Pentium processors also have 3.3 million transistors — more than the earlier 
chips. The extra transistors exist because additional clock-control SL enhancements were 
added, as were an on-chip Advanced Programmable Interrupt Controller (APIC) and 
dual-processor interface. 



Intel Processors 197 



The APIC and dual-processor interface are responsible for orchestrating dual-processor 
configurations in which two second-generation Pentium chips can process on the same 
motherboard simultaneously. Many of the new Pentium motherboards will come with 
dual Socket 5 or Socket 7 specification sockets, which fully support the multiprocessing 
capability of the new chips. Already, software support for what usually is called Symmet- 
ric Multi-Processing (SMP) is being integrated into operating systems such as Windows 
and OS/2. 

The second-generation Pentium processors use clock-multiplier circuitry to run the pro- 
cessor at speeds faster than the bus. The 90 MHz Pentium processor can run at 1.5 times 
the bus frequency, which normally is 60 MHz. The 100 MHz Pentium processor can run 
at a 1.5x clock in a system using a 66 MHz bus speed or at a 2x clock on a motherboard 
that is running at 50 MHz. The future 75 MHz version reportedly will also use the 1.5x 
clock and, therefore, run on 50 MHz motherboards. 

Currently, running the motherboard faster than 66 MHz is impractical because of 
memory and local-bus performance constraints. The fastest Pentium systems would com- 
bine the 66 MHz motherboard operation with a 2x internal processor clock and 133 MHz 
processor operation. If you think that 2 times 66 equals 132 and not 133, you may be 
right, but in nearly all cases, 66 MHz operation really means 66.6666 MHz actual speed. 



CPU Type/Speed 


CPU Clock 


Motherboard Speed 


Pentium 


60 


1x 


60 


Pentium 


66 


1x 


66 


Pentium 


75 


1.5x 


50 


Pentium 


90 


1.5x 


60 


Pentium 


100 


1.5x 


66 


Pentium 


120 


2x 


60 


Pentium 


133 


2x 


66 


Pentium 


150 


2.5x 


60 


Pentium 


166 


2.5x 


66 


Pentium 


180 


3x 


60 


Pentium 


200 


3x 


66 



1/1 



Virtually all Pentium motherboards have three speed settings: 50, 60, and 66 MHz. vf 

Pentium chips are available with a variety of different internal clock multipliers that j+ 

cause the processor to operate at various multiples of these motherboard speeds. The 3 

following table lists the current and future proposed speeds of Pentium processors and n 

motherboards: a 

■o 

O 
3 
(6 

3 



198 Chapter 6 — Microprocessor Types and Specifications 

The Core-to-Bus frequency ratio or clock multiplier is controlled in a Pentium processor 
by two pins on the chip labeled BF1 and BF2. The following table shows how the state of 
the BFx pins will affect the clock multiplication in the Pentium processor: 

Clock Bus Speed Core Speed 

BF1 BF2 Multiplier (MHz) (MHz) 






1 


3x 


66 


200 





1 


3x 


60 


180 





1 


3x 


50 


150 








2.5x 


66 


166 








2.5x 


60 


150 








2.5x 


50 


125 


1 





2x 


66 


133 


1 





2x 


60 


120 


1 





2x 


50 


100 


1 


1 


1.5x 


66 


100 


1 


1 


1.5x 


60 


90 


1 


1 


1.5x 


50 


75 



Not all chips support the Bus Frequency (BF) pins. In other words, some of the Pentium 
processors will operate only at specific combinations of these settings, or maybe even 
fixed at one particular setting. Many of the newer motherboards will have jumpers or 
switches that allow you to control the BF pins and therefore alter the clock multiplier 
ratio within the chip. I have known people who have taken 75 MHz rated Pentium chips 
and actually got them to run at up to 133 MHz by altering the clock multiplier to 2x, as 
well as the motherboard bus clock to 66 MHz by simply changing jumpers on the board. 
This is called overclocking, and while it can often work, a chip pushed beyond its rated 
limits will run much hotter and may not operate properly at the higher speeds. Fortu- 
nately, resetting the chip back to its original speed settings almost always returns the 
chip to normal operation. 

Now that the second-generation Pentium processors have arrived in full force, and the 
next generation Pentium Pro processor is hitting the market at the high end, the time is 
right to economically purchase Pentium systems. The ideal system today uses the sec- 
ond-generation 133/166/200 MHz processor with a 66 MHz motherboard bus speed. 

A new third generation of Pentium processors (code-named P55C) has just been released, 
which is a minor rework of the second generation. These third-generation Pentiums are 
available in clock rates of 60/150 MHz, 66/166 MHz, 60/180 MHz, and 66/200 MHz. 
The 200 MHz version will likely be the fastest Pentium processor Intel will ever make. 
The P55C processors will have some revisions done on the mask, including additional 
NSP (Native Signal Processing) support. The main change will be that they will be pro- 
duced in a 0.25-micron CMOS process, which allows a much smaller die and uses fewer 
masks in production. These processors can be built using only 16 masks instead of the 20 
used in the second-generation BiCMOS versions, and will operate at lower voltage levels. 
The voltages used will be 2.9v and eventually 2. 5 v. 



Intel Processors 199 



Most of the current motherboards can supply only 3.465v or 3.3v. The 3.465v setting is 
called VRE (Voltage Reduced Extended) by Intel and is required by some versions of the 
Pentium, particularly some of the 100 MHz versions. The standard 3.3v setting is called 
STD (Standard), which most of the second-generation Pentiums use. STD-voltage means 
anything in a range from 3.135v to 3.465v with 3.3v nominal. There is also a special 3.3v 
setting called VR (Voltage Reduced), which reduces the range from 3.300v to 3.465v with 
3.38v nominal. Some of the processors require this narrower specification, which most 
motherboards provide. Here is a summary: 

Voltage Specification Nominal Tolerance Minimum Maximum 



STD (Standard) 


3.30v 


±0.165 


3.135v 


3.465v 


VR (Voltage Reduced) 


3.38v 


±0.083 


3.300v 


3.465v 


VRE (VR Extended) 


3.50v 


±0.100 


3.400v 


3.600v 



# 



In order to use the third-generation Pentiums, the motherboard must be able to supply 
the new lower voltages these processors will use. Intel has indicated that these new pro- 
cessors will run on 2.9v and 2.5v, but the specifications could vary from those settings. 
To allow a more universal motherboard solution with respect to these changing voltages, 
Intel has come up with the Socket 7 with VRM. The VRM is a socketed module that plugs 
in next to the processor and supplies the correct voltage. Because the module is easily 
replaced, it will be easy to reconfigure a motherboard to support any of the voltages 
required by the newer Pentium processors. n 

If you want the maximum future upgradability to the P55C third-generation Pentiums, n 

make sure that your Pentium motherboard includes 321-pin processor sockets that fully 

meet the Intel Socket 7 specification. These would also include the VRM socket. If you 

have dual sockets, you can add a second Pentium processor to take advantage of SMP 3 

support in the newer operating systems. S 

VI 

Also make sure that any Pentium motherboard you buy can be jumpered or reconfigured 
for both 60 and 66 MHz operation, which will enable you to take advantage of future 
Pentium OverDrive processors that will support the higher motherboard clock speeds. 

These simple recommendations will enable you to perform several dramatic upgrades 
without changing the entire motherboard. 

Pentium Pro Processor 

Intel's newest chip and successor to the Pentium is called the Pentium Pro. The Pentium 
Pro was introduced in September of 1995, and became widely available in 1996. The new 
chip is unique among processors as it is constructed in a Multi-Chip Module (MCM) 
physical format, which Intel is calling a Dual Cavity PGA (Pin Grid Array) package. In- 
side the 387-pin chip carrier are two dies: one containing the actual Pentium Pro proces- 
sor, and the other a 256K or 512K L2 cache. The processor die contains 5.5 million 
transistors, while the 256K cache die contains 15.5 million transistors, and the 512K 
cache die has 31 million transistors, for a potential total of 36.5 million transistors in the 
complete module! 



200 Chapter 6 — Microprocessor Types and Specifications 

The architecture of the Pentium Pro includes three internal instruction pipes, which can 
execute multiple instructions in one cycle. The main processor die includes a 16K split 
LI cache with an 8K 2-Way Set Associative Cache for primary instructions, and an 8K 
4- Way Set Associative Cache for data. The Pentium Pro can execute instructions out of 
order and has dynamic branch prediction and speculative execution capabilities. 

In many ways, the Pentium Pro seems to be more of an evolutionary design compared to 
the Pentium rather than something totally new. The core of the chip is very RISC-like, 
while the external instruction interface is classic Intel CISC (Complex Instruction Set 
Computer). By breaking down the CISC instructions into several different RISC instruc- 
tions and running them down parallel execution pipelines, the overall performance is 
increased. 

Compared to the Pentium, Intel claims that the Pentium Pro is twice as fast, but it is 
comparing a 133 MHz Pentium Pro against a 100 MHz Pentium. It claims that this is a 
fair comparison because the improved design of the Pentium Pro can run on the older 
0.6-micron BiCMOS process used by the Pentium 100 rather than the 0.35-micron CMOS 
process used by the Pentium 150 and higher. Intel has indicated that when the Pentium 
Pro is migrated to the 0.35-micron and eventually 0.25-micron CMOS process, absolutely 
incredible speeds will be possible. I gather that speeds of 300 MHz and higher will be 
possible using these new processes. 

Notwithstanding that the Pentium Pro can be manufactured at higher clock speeds on a 
given process than the Pentium, comparing a 133 MHz operating version of both the 
Pentium and a Pentium Pro shows that the Pentium Pro has only about a 33 percent 
advantage in power. This is enhanced further, however, by the fact that Intel has this 
new chip running at rated speeds of 150, 166, and even 200 MHz. This may improve 
with future versions of the Pentium Pro — for example, versions with higher speeds and 
even larger integrated L2 caches have already been proposed. 

The integrated L2 cache is one of the really outstanding features of the Pentium Pro. By 
building the L2 cache into the CPU and getting it off the motherboard, the cache can 
now run at full processor speed rather than the slower 60 or 66 MHz motherboard bus 
speeds. In fact, the L2 cache features its own internal 64-bit backside bus, which does not 
share time with the external 64-bit frontside bus used by the CPU. The internal registers 
and data paths are still 32-bit as with the Pentium. By building the L2 cache into the 
system, motherboards will become cheaper because they will no longer require separate 
cache memory. Some boards may still try to include cache memory in their design, but 
the general consensus is that Level 3 cache (as it would be called) would offer less im- 
provement with the Pentium Pro than with the Pentium. 

One of the features of the built-in L2 cache is that multiprocessing is greatly improved. 
Rather than just dual processor configurations (SMP) as with the Pentium, the Pentium 
Pro will support a new type of multiprocessor configuration called the Multi-Processor 
Specification (MPS 1.1). The Pentium Pro with MPS will allow configurations of up to 
four processors running together. Unlike other multi-processor configurations, the 
Pentium Pro will avoid cache coherency problems because each chip maintains a sepa- 
rate LI and L2 cache internally. 



IBM (Intel-Licensed) Processors 201 

Pentium Pro-based motherboards will be pretty much exclusively PCI and ISA bus based, 
and Intel is producing its own chipsets for these new motherboards. The first chipset was 
called Orion, while the newest version is called Natoma. Along with the new chipsets, 
Intel is proposing a motherboard form factor change for future Pentium Pro boards. The 
new form factor is called ATX, and will be different from the Baby-AT form factor used 
by most PC-compatibles. The ATX form factor is about the same 9 x 13-inch size as the 
Baby-AT, but the board is turned 90 degrees from the way the Baby-AT boards mount. In 
other words, the long side is now against the back of the case, and the expansion slots 
will be parallel with the short side of the board. The main reason for the new form factor 
is to move the CPU to an area where expansion cards will not be located, which should 
allow much better cooling. Current systems with the CPU under the slots can have prob- 
lems in this area, sometimes preventing one from using all the available bus slots. 

Another benefit of the ATX form factor is that the long edge of the board will be against 
the back of the case, allowing room for many built-in connectors. ATX boards will be 
highly integrated, featuring built-in dual serial ports, a parallel port, floppy controller, 
dual enhanced IDE ports, integrated sound, SVGA video, and optional SCSI and network- 
ing interfaces. Of course, this new motherboard form factor will require retooled cases 
and most likely power supplies, as well. Intel is sharing the specifications of the new ATX 
form factor, and many other motherboard manufacturers already have designs ready. 



tf 



Other Pentium Pro system manufacturers intend on sticking with the Baby-AT form 
factor, at least for the time being. The big problem with the standard Baby-AT form fac- 
tor will be keeping the CPU properly cooled. The massive Pentium Pro processor will 



3 



consume 20 watts or more power and generate an appreciable amount of heat. q 

3 

Initially, the Pentium Pro will be available in 50/150, 60/180, and 66/200 MHz speeds. "O 

O 
Eventually, Pentium Pro processors will be available in much higher clock rates beyond 3 

200 MHz. 3 

VI 

Intel is already deep into the development of the P7 processor, which should appear 
sometime in 1997. Not much is known at this early stage, but it would not be too diffi- 
cult to predict that it should have somewhere around 10 million transistors and will 
probably debut at speeds up around 200 MHz or greater. Further projecting puts the P8 
processor out around 1999 with 20 million transistors at 300 MHz, and possibly a P9 
chip during the year 2000 with 40 million transistors and 400 MHz or more! This helps 
to keep in perspective the fact that whatever you purchase today will be obsolete in two 
to three years. 

IBM (Intel-Licensed) Processors 

For many years, IBM and Intel have had a very close relationship, especially considering 
the fact that IBM is one of Intel's largest customers. The companies often enter into 
agreements to exchange technology and information. One such agreement involves 
the licensing of Intel's processors; IBM has a license to produce several of the Intel 
processors. 



202 



Chapter 6 — Microprocessor Types and Specifications 



In a licensing agreement, Intel shares with IBM the original mask, or design, of the chip. 
A CPU chip mask, which is the photographic blueprint of the processor, is used to etch 
the intricate signal pathways into a silicon chip. Using this mask, IBM can produce the 
chip as Intel designed it or make modifications in the basic design. Normally, IBM must 
also share with Intel any modifications that it makes. 

Restrictions often exist in the way that IBM can market these Intel-derived chips. Other 
manufacturers (such as AMD, Harris, and Siemens) licensed several of the older Intel 
processors up through the 286, but no manufacturer other than IBM originally licensed 
the 386 and newer processor masks. The 386 and newer chips produced by companies 
other than Intel and IBM are often reverse-engineered without Intel's blessing. In fact, 
Intel has been involved in drawn-out legal battles with several of the clone-processor 
manufacturers, most of which have been settled. 

Several years ago, IBM licensed the 386 processor mask. The company since has produced 
several variations that include modifications of the basic Intel design, including some 
versions that also carry a 486 designation. Some of the IBM processors have few design 
changes; others have major differences that make the chip faster, less power-hungry, or 
both. Table 6.12 summarizes the IBM processors that are derived from Intel masks. 

IBM SLC Processors 

The IBM SLC processors are enhanced versions of the Intel 386SX that offer greater per- 
formance and lower power consumption. The SLC processors, which are based on the 
Intel 386SX mask, have the physical form factor and pinout of the 386SX, with some of 
the unused pins now being used for cache control. 

The IBM-enhanced chips have some 486 features (including the internal cache) and 
perform as well as, or even better than, a 486SX at a much lower cost. IBM states that the 
386SLC chip is as much as 80 percent faster than the standard 386SX chip, which means 
that a 20 MHz 386SLC can outperform a 33 MHz 386DX system. The first system to use 
any of these custom IBM processors was the PS/2 Model 57. These processors now are 
used in other manufacturers' systems as well. 

The SLC processors are often criticized for having only a 16-bit data bus and a 24-bit 
address bus. The address bus allows access to only 16M of memory, which is fine for 
most users. Users who need more memory, however, should look to the IBM Blue 



Table 6.12 IBM Processor Specifications 



Processor 



CPU 
Clock 



Standard 
Voltage 



Internal 
Register 
Size 



Data- 
Bus Width 



Address- 
Bus Width 



386 SLC 


1x 


5v 


32-bit 


1 6-bit 


24-bit 


486 SLC 


1x 


3.3v 


32-bit 


16-bit 


24-bit 


486 SLC2 


2x 


3.3v 


32-bit 


16-bit 


24-bit 


486 BL2 


2x 


3.3v 


32-bit 


32-bit 


32-bit 


486 BL3 


3x 


3.3v 


32-bit 


32-bit 


32-bit 



IBM (Intel-Licensed) Processors 



203 



Lightning (BL) or to the Intel 486 processors and beyond, which provide a full 32 bits of 
memory addressing. 

Although the SLC processors have only a 16-bit data bus, these processors still outper- 
form many 32-bit chips because of the large (8K or 16K) internal cache. In fact, the 16K 
cache in the 486SLC performed so well that the designation of the chip was changed to 
486. This chip performs about as well as an Intel 486 chip running at equal clock rates, 
even though the IBM version is only 16 bits and the Intel version is 32 bits. Because all 
the SLC chips have the full 486 instruction set, including the cache-control instructions, 
the designation is accurate. 

The SLC2 version runs at twice the system speed (clock-doubled) and yet costs less than 
the standard Intel 486 chips while providing greater performance. You can find the 
486SLC2 processor in many bargain-priced motherboards that offer nearly the perfor- 
mance of the Intel 486SX2 and DX2 processors for much less money. Although the IBM 
processors do not have a built-in math coprocessor, as some of the Intel processors do, 
most of the motherboards sold with the IBM processors include an Intel or Intel- 
compatible 387SX math coprocessor. 

Blue Lightning Processors 

The IBM Blue Lightning processors are based on the 386DX mask and are full 32-bit 
processors. These processors also support a full 32-bit memory addressing scheme, which 
means that they can support the same 4G memory as the Intel 486 processors. 

The IBM BL was the first processor to run in clock-tripled mode, which is available in 25/ 
75 MHz and 33/100 MHz versions. Notice that most 33 MHz systems actually run at 
33.33 MHz, so a clock-tripled system effectively would run at 100 MHz. 

All the IBM processors fully support power-management capabilities, and all of them are 
considered to be low-power (or green) processors. Due to their low power consumption 
and low-voltage design, these processors often are used in systems that meet the EPA 
Energy Star Certification Program, which sets standards for energy conservation and low 
power consumption in PC systems. 

The SLC2 and BL processors are low-power units that run on 3.3v, due in part to IBM's 
superior chip-fabrication facilities. IBM reduced the die size and power consumption 



tf 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Maximum 
Memory 



Integral 
Cache 



Burst 
Mode 



Integral 
FPU 



No. of 
Transistors 



Date 
Introduced 



16M 


8K 


No 


No 


955,000 


October 1 991 


16M 


16K 


No 


No 


1,349,000 


1992 


16M 


16K 


No 


No 


1,349,000 


June 1992 


4G 


16K 


No 


No 


1,400,000 


1993 


4G 


16K 


No 


No 


1,400,000 


1993 



204 Chapter 6 — Microprocessor Types and Specifications 

greatly by going to a 0.6-micron process for these chips. (This figure refers to the mini- 
mum individual feature size on the chip mask. Intel did not use the a 0.6-micron process 
until the DX4 and Pentium chips were introduced.) 

The original agreement with Intel was intended to prevent IBM from marketing its pro- 
cessors in the open market in competition with Intel. The agreement specifies that IBM 
cannot sell processors individually, but only as parts of modules. This restriction essen- 
tially means that the chip must be mounted on a circuit board of some type — which 
actually caused IBM to enter the motherboard and upgrade-board business. 

Several companies have designed motherboards and processor upgrade boards that use 
the low-cost IBM processors. These boards are manufactured by IBM, but they often are 
designed by the companies for whom IBM makes them. Among the most popular of 
these motherboards are the Alaris motherboards, which use the IBM processors, and an 
AMI BIOS. IBM manufactures these boards at its manufacturing plant in Charlotte, NC. 



For any of these products, IBM technically is acting as a subcontractor to the company that is 
considered to be the manufacturer; IBM is not responsible for the design, sales, or support of the 
products. Support must come from the (so-called) manufacturer, not from IBM. 



Intel-Compatible Processors 

Several companies — mainly AMD and Cyrix — have developed new processors that 
are compatible with one or more of the Intel processors. These chips are fully Intel- 
compatible, which means that they emulate every processor instruction in the Intel 
chips. Most of the chips are pin-compatible, which means that they can be used in any 
system designed to accept an Intel processor; others require a custom motherboard de- 
sign. Any hardware or software that work on Intel-based PCs will work on PCs made with 
these third-party CPU chips. 

AMD and Cyrix have developed their own versions of the Intel 386, 486, and even 
Pentium processors in a variety of speeds and configurations. 

AMD has become a major player in the 486-compatible chip market with its own line of 
Intel-compatible 486 processors. AMD ran into trouble with Intel because its chips use 
actual Intel microcode. These differences have been settled and AMD now has a license 
for the Intel 386 and 486 code. AMD has come out with a variety of 486 processors, fo- 
cusing on the high end where Intel has left off. For example, AMD makes a 486 DX4 120 
and will offer a 133 MHz version as well. Intel has all but discontinued 486 production, 
and 100 MHz was the fastest version it made. AMD also makes higher speed versions of 
the DX2 processors as well. The AMD processors are directly interchangeable with the 
Intel 486 chips and are pin and socket compatible. 



(/> 



Intel-Compatible Processors 205 

AMD chips, including the DX4, have the same 8K internal Level 1 cache as the Intel DX2 
processors. The Intel DX4 has 16K of internal LI cache while the AMD DX4s only have 
8K. This results in slightly less performance, with one bonus being that they work with 
some older BlOSes better than the Intel chips do. Many of the older BIOS versions will 
not deal properly with the 16K cache in the Intel DX4 chips, requiring a BIOS upgrade 
before the cache can be used at all. The AMD DX4 chips have the same 8K cache as the 
standard 486 processors, which is what most older BlOSes were written for. 

Unlike Cyrix, Nexgen, and others, AMD has its own foundries and fabrication facilities. 
In fact, in the past it has often been called on by Intel to manufacture some of the Intel 
processors. AMD is using this capability to now manufacture a new Pentium class chip 
called the K5. The new AMD K5 processor has 4.3 million transistors and can execute up 
to four instructions per cycle compared to two on the Pentium. The K5 includes some of 
the features of the Intel Pentium Pro processor, including speculative and out-of-order 
instruction execution. The K5 includes a 24K split cache with 16K for instructions and 
8K for data. This chip will be made in AMDs new Fab 25 microprocessor plant in 
Austin, TX. 

Cyrix markets an interesting chip called the 486DRx2, which can be used as a direct 
replacement for a 386 chip in existing systems. Although the Cyrix chip lacks some of 
the important features of the Intel 486, it gives a 386-based system many of the benefits 

of the 486. *S 

if 

» 

Cyrix also markets standard 486DX2 processors in speeds all the way up to 80 MHz. One 

interesting fact about Cyrix is that IBM Microelectronics is its primary fabrication facil- n 

ity, which means that IBM makes most of the Cyrix processors. Cyrix developed its 

486-compatible processors using its own design, which has allowed it to escape many of 

the legal hassles other companies have had in cloning Intel's designs. For the most part, 3 

the Cyrix 486 DX2 processors are pin and socket compatible with the Intel chips, mean- 3 

ing that they can be used interchangeably. Some of the earlier Cyrix 486 processors had <* 

less internal Level 1 cache memory than the corresponding Intel chips, but they now use 

the same size 8K cache as Intel does in the DX2 chips. 

Cyrix is now focusing on the Pentium market with a new chip it has designed called the 
6x86. This chip offers Pentium level performance in custom design by Cyrix. The Ml has 
3.3 million transistors and will initially be manufactured on a 0.65-micron process. The 
6x86 has dual internal pipelines and a single unified 16K internal cache. It will offer 
speculative and out-of-order instruction execution, much like the Intel Pentium Pro 
processor. The 6x86 will be socket (but not pin) compatible with the Pentium, and will 
require modified chipsets and new motherboard designs. This means that this chip can- 
not be installed in older Pentium motherboards, but only in boards designed to accom- 
modate it. Most newer chipsets like the Opti Viper and ALI Aladdin are universal in 
nature and will support the Pentium, AMD K5, and the Cyrix Ml processors all on the 
same board. As with the other Cyrix chips, IBM Microelectronics is manufacturing the 
686 for Cyrix. 

More recently, Cyrix has announced a new 5x86 processor, which is a 486 replacement 
chip that uses some of the 686 technology. This processor is pin and socket compatible 



206 Chapter 6 — Microprocessor Types and Specifications 

with the 486DX and will be featured in lower-end systems. The 5x86 features an internal 
64-bit data path with an external 32-bit 486 interface. It has a 16K unified Write-Back LI 
cache and does branch prediction just like the big brother Ml. It only has a single in- 
struction pipeline, so it cannot execute more than one instruction per cycle. The chip 
incorporates built-in power management through SMM and will draw less power than 
most 486 processors. The 5x86 will be ideal for notebook systems and will be available in 
100, 120, and 133 MHz versions. 



Texas Instruments formerly manufactured the Cyrix 486 processors. There was a falling out be- 
tween Cyrix and Tl, and in the aftermath Tl has retained the rights to some of the Cyrix 486 de- 
signs. In other words, the Tl 486 processors you see on the market are basically Tl-made versions 
of the Cyrix 486 processors. 



Another relative newcomer on the CPU scene is Nexgen. Founded by an ex-Intel engi- 
neer who worked on the Pentium processor, Nexgen was the first company actually 
shipping a Pentium class processor compatible with Intel. The Nexgen Nx586 is a cus- 
tom-designed RISC-based processor that is not a true clone of the Pentium. The Nx586 
is not pin compatible, but will run software designed for the Pentium. It features 3.5 
million transistors, a built-in 32K split LI cache, and has a built-in L2 cache controller. 
By integrating the L2 controller inside the chip, the L2 cache will be able to run at chip 
speeds and not the slower motherboard memory bus speed. The Nx586 has only a single 
internal pipeline, but features out-of-order instruction execution like the Intel Pentium 
Pro. 

Nexgen has recently been purchased by AMD, and all their processor technology is being 
integrated into upcoming AMD chips. The Nexgen chips will eventually be discontinued. 

The Nx586 is designed as a lower-cost alternative to the Pentium, but there are some 
drawbacks. It is not pin or socket compatible, which means that the motherboards and 
chipsets will have to be specifically developed around it and may not have future 
Pentium upgradability. IBM Microelectronics currently manufactures not only the Nx586 
chips, but the motherboards as well. The Nx586 is available at several different speeds, 
including 70, 75, 84, and 93 MHz. Because the chip actually performs somewhat better 
than a Pentium chip at the same clock rate, the 93 MHz chip is called the Nx586-100, 
indicating that it performs about as well as a 100 MHz Pentium. 

One drawback compared to the Pentium is that the Nx586 chip does not include a float- 
ing point unit. This means that floating-point math functions will run much slower, or 
will require an external math coprocessor. Nexgen has stated that future versions of the 
chip may include a built-in FPU. Clearly the Nx586 is designed to be marketed as a low- 
cost alternative to the Pentium. 



Math Coprocessors 



207 



Math Coprocessors 



Each central processing unit designed by Intel (and cloned by other companies) can 
use a math-coprocessor chip, although the Pentium and 486 chips have a built-in math 
coprocessor. Coprocessors provide hardware for floating-point math, which otherwise 
would create an excessive drain on the main CPU. Math chips speed your computer's 
operation only when you are running software designed to take advantage of the 
coprocessor. 

Math chips (as coprocessors sometimes are called) can perform high-level mathematical 
operations — long division, trigonometric functions, roots, and logarithms, for example — 
at 10 to 100 times the speed of the corresponding main processor. Math chips also are 
more accurate in these calculations than are the integer-math units built into the pri- 
mary CPU. The integer units in the primary CPU work with real numbers, so they per- 
form addition, subtraction, and multiplication operations. The primary CPU is designed 
to handle such computations; these operations are not offloaded to the math chip. 

The instruction set of the math chip is different from that of the primary CPU. A pro- 
gram must detect the existence of the coprocessor and then execute instructions written 
explicitly for that coprocessor; otherwise, the math coprocessor draws power and does 
nothing else. Fortunately, most modern programs that can benefit from the use of the 
coprocessor correctly detect and use the coprocessor. These programs usually are math- 
intensive: spreadsheet, database applications, statistical, and some graphics, such as com- 
puter-aided design (CAD) software. Word processing programs do not benefit from a 
math chip and therefore are not designed to use one. 

Table 6.13 summarizes the coprocessors available for the Intel family of processors. 



Table 6.13 Math Coprocessor Summary 



Processor 



Coprocessor 



8086 


8087 


8088 


8087 


286 


287 


386SX 


387SX 


386SL 


387SX 


386SLC 


387SX 


486SLC 


387SX 


486SLC2 


387SX 


386DX 


387DX 


486SX 


487SX, DX2/OverDrive' 


487SX* 


Built-in FPU 


486SX2 


DX2/OverDrive** 


486DX 


Built-in FPU 


486DX2 


Built-in FPU 


486DX4 


Built-in FPU 



# 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



208 



Chapter 6 — Microprocessor Types and Specifications 



Table 6.13 Continued 



Processor 



Coprocessor 



Pentium 
Pentium Pro 



Built-in FPU 
Built-in FPU 



FPU = Floating-Point Unit 

The 487SX chip is a modified pinout 486DX chip with the math coprocessor enabled. When you plug 

in a 487SX chip, it disables the 486SX main processor and takes over all processing. This chip has been 

discontinued and is replaced by the DX2/OverDrive processor. 

**The DX2/OverDrive is equivalent to the SX2 with the addition of a functional FPU. 

Within each 8087 group, the maximum speed of the math chips varies. A suffix digit 
after the main number, as shown in table 6.14, indicates the maximum speed at which 
a system can run a math chip. 



Table 6.14 Maximum Math Chip Speeds 



Part 



Speed 



8087 


5 MHz 


8087-3 


5 MHz 


8087-2 


8 MHz 


8087-1 


10 MHz 


80287 


6 MHz 


80287-6 


6 MHz 


80287-8 


8 MHz 


80287-10 


10 MHz 



The 387 math coprocessors, as well as the 486 or 487 and Pentium processors, always 
indicate their maximum speed rating in MHz in the part-number suffix. A 486DX2-66, 
for example, is rated to run at 66 MHz. Some processors incorporate clock multiplication, 
which means that they may run at different speeds compared with the rest of the system. 

The performance increase in programs that use the math chip can be dramatic — usually, 
a geometric increase in speed occurs. If the primary applications that you use can take 
advantage of a math coprocessor, you should upgrade your system to include one. 

Most systems that use the 386 or earlier processors are socketed for a math coprocessor as 
an option, but they do not include a coprocessor as standard equipment. A few systems 
on the market don't even have a socket for the coprocessor because of cost and size 
considerations. Usually, these systems are low-cost or portable systems, such as older 
laptops, the IBM PS/1, and the PCjr. For more specific information about math 
coprocessors, see the discussions of the specific chips — 8087, 287, 387, and 487SX — 
in the following sections. 

Table 6.15 shows some of the specifications of the various math coprocessors. 



Math Coprocessors 



209 



Table 6.15 Intel Math Coprocessor Specifications 





Power 


Case Min. 


Case Max. 


No. of 


Date 


Name 


Consumption 


Temp. 


Temp. 


Transistors 


Introduced 


8087 


3 watts 


0°C, 32°F 


85°C, 185°F 


45,000 


1980 


287 


3 watts 


0°C, 32°F 


85°C, 185°F 


45,000 


1982 


287XL 


1 .5 watts 


0°C, 32°F 


85°C, 185°F 


40,000 


1990 


387SX 


1 .5 watts 


0°C, 32°F 


85°C, 185°F 


120,000 


1988 


387DX 


1 .5 watts 


0°C, 32°F 


85°C, 185°F 


120,000 


1987 



Most often, you can learn what CPU and math coprocessor are installed in a particular 
system by checking the system documentation. The following section examines the Intel 
family of CPUs and math coprocessors in more detail. 

8087 Coprocessor 

Intel introduced the 8086 processor in 1976. The math coprocessor that was paired with 
the chip — the 8087 — often was called the numeric data processor {NDP), the math 
coprocessor, or simply the math chip. The 8087 is designed to perform high-level math 
operations at many times the speed and accuracy of the main processor. The primary 
advantage of using this chip is the increased execution speed in number-crunching pro- 
grams such as spreadsheet applications. Using the 8087 has several minor disadvantages, 
however, including software support, cost, power consumption, and heat production. 

The primary disadvantage of installing the 8087 chip is that you notice an increase in 
speed only in programs written to use this coprocessor — and then not in all operations. 
Only math-intensive programs such as spreadsheet programs, statistical programs, CAD 
software, and engineering software support the chip. Even then, the effects vary from 
application to application, and support is limited to specific areas. For example, versions 
of Lotus 1-2-3 that support the coprocessor do not use the coprocessor for common op- 
erations such as addition, subtraction, multiplication, and division. 

Applications that usually do not use the 8087 at all include word processing programs, 
telecommunications software, database programs, and presentation-graphics programs. 

To test the speed capabilities of the 8087 math coprocessor, two spreadsheets were cre- 
ated, each with 8,000 cells. The first spreadsheet used simple math tasks — addition, sub- 
traction, multiplication, and division — split evenly among the 8,000 cells. The second 
spreadsheet used high-level math operations — including formulas that used SQRT, SIN, 
COS, and TAN calculations — throughout the 8,000 cells. The following table shows the 
recalculation times: 



tf 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Spreadsheet 



XT without 8087 XT with 8087 



Sheet 1 (standard math) 
Sheet 2 (high-level math) 



21 seconds 
1 95 seconds 



21 seconds 
21 seconds 



The addition of an 8087 to a standard IBM XT did nothing for the spreadsheet that 
contained only simple math, but the 8087 calculated the spreadsheet that contained 



210 Chapter 6 — Microprocessor Types and Specifications 

high-level math in one-tenth the time. (This also was the time it took both systems to 
calculate the spreadsheet that contained only simple math.) 

If your spreadsheets consist of nothing but addition, subtraction, multiplication, and 
division calculations, before buying a math chip, you need to know whether the pro- 
gram that you use takes advantage of the math chip for simple calculations. Many new 
programs are designed to support the 8087 chip for these operations. Installing an 8087 
can extend the useful life of a PC or XT, because the chip closes some of the performance 
gaps between PC- or XT- type computers and AT- type computers. In short, the chip is an 
asset whenever the software supports it. 

The 8087 chip is inexpensive, costing as little as $50. Remember to purchase a chip with 
the correct maximum-speed rating; the 8087 must be rated to run at the same rate of 
speed as the CPU or faster, because the main CPU and the coprocessor must run in syn- 
chronization. In an IBM XT, for example, the 8088 and the 8087 run at 4.77 MHz. Look 
in your system documentation to find the speed at which your system will run the math 
chip. 

Math chips are quite power-hungry because of the number of transistors included. A 
typical 8088 has only about 29,000 transistors, but the 8087 has about 45,000. (Nearly all 
the 45,000 transistors are dedicated to math functions, which is why the 8087 can per- 
form math operations so well.) This figure translates to nearly double the calculating 
horsepower, as well as double the electrical power drain. In a heavily loaded PC, the 
8087 could be the straw that breaks the camel's back: the power supply might be insuffi- 
cient for the increased load. The chip draws nearly 0.5 amp of current. 

Another problem is the amount of heat generated: 3 watts. A 75 MHz 486DX4 with 1.6 
million transistors uses only 3.63 watts. This heat level generated in such a small chip 
can raise the temperature to more than 180° Fahrenheit. (The approved maximum tem- 
perature for most 8087s is 185°F.) For this reason, math coprocessor chips usually are 
made of ceramic. 

Power and heat are not problems in XT or portable systems because these systems are 
built to handle these situations. The PC, however, usually requires a higher-watt power 
supply with a more powerful cooling fan to handle the load. Power supplies are covered 
later in this chapter. 

80287 Coprocessor 

Imagine that two company employees have computers. One user has an IBM XT, and the 
other has a 6 MHz AT. Both employees use Lotus 1-2-3 as their primary application. The 
AT user delights in being able to outcalculate the XT user by a factor of three. The XT 
user purchases an 8087 math chip for $50 and installs it. The XT user then finds that the 
XT calculates many spreadsheets 10 times faster than before — or more than three times 
as fast as the AT. 

This performance frustrates the AT user, who thought that the AT was the faster system. 
The AT user, therefore, purchases an 80287 for $50 and discovers that the AT is merely 
equal in speed to the XT for many spreadsheet recalculations. In a few situations, how- 
ever, the XT may still outrun the AT. 



Math Coprocessors 



211 



Of course, the AT user wants to know why the 80287 chip did not make the AT superior 
to the XT, by a significant margin, for spreadsheet recalculations. (For "normal" process- 
ing, which does not use the math chip's high-level math functions, the AT holds its 
performance edge.) The answer is in the 80287 chip. For various design reasons, the 8087 
chip has much more effect on the speed of the PC and XT than the 80287 has on the AT. 

The 80287, internally, is the same math chip as the 8087, although the pins used to plug 
them into the motherboard are different. Because the AT has a healthy power supply and 
generous, thermostatically controlled fan cooling, the heat and power problems men- 
tioned in the discussion of the 8087 generally don't apply to the 287. Internally, how- 
ever, the 80287 and the 8087 operate as though they were identical. 

Another reason is that the 80286 and its math chip are asynchronous, which means that 
the chips run at different speeds. The 80287 math chip usually runs at two-thirds the 
speed of the CPU. In most systems, the 80286 internally divides the system clock by 2 to 
derive the processor clock. The 80287 internally divides the system-clock frequency by 3. 
For this reason, most AT-type computers run the 80287 at one-third the system clock 
rate, which also is two-thirds the clock speed of the 80286. Because the 286 and 287 
chips are asynchronous, the interface between the 286 and 287 chips is not as efficient as 
with the 8088 and 8087. 

In summary, the 80287 and the 8087 chips perform about the same at equal clock rates. 
The original 80287 is not better than the 8087 in any real way — unlike the 80286, which 
is superior to the 8086 and 8088. In most AT systems, the performance gain that you 
realize by adding the coprocessor is much less substantial than the same type of upgrade 
for PC- or XT-type systems or for the 80386. 

Some systems run the 80287 and the 8087 at the same speed. PS/2 Models 50, 50 Z, and 
60 use circuitry that enables both the 80286 and 80287 to run at 10 MHz. The PS/2 
Model 25-286 and 30-286, however, follow the standard AT-type design, in which the 
286 runs at 10 MHz and the 287 runs at 6.67 MHz. 

You must consult the system documentation to learn the speeds at which your system 
would run a 287 coprocessor because the motherboard designers determine these specifi- 
cations. Table 6.16 shows 80286 and 80287 clock speeds for most AT-type systems. 



tf 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



Table 6.16 80286 and 80287 Clock Speeds (in MHz) 



System Clock 80286 Clock 80287 Clock 



12.00 


6.00 


4.00 


16.00 


8.00 


5.33 


20.00 


10.00 


6.67 


24.00 


12.00 


8.00 


32.00 


16.00 


10.67 



How can you improve this differential in performance gain? One method takes advan- 
tage of the fact that the 80286 and the 80287 run asynchronously. You can install an 
add-in board that uses its own clock signal to drive the 80287 chip and therefore can 



212 Chapter 6 — Microprocessor Types and Specifications 

drive the chip at any speed. Some companies have designed a simple speed-up circuit 
that includes a crystal and an 8284 clock generator chip, all mounted on special boards — 
some of which are not much bigger than the 287 socket. This special board, called a 
daughterboard, is plugged into the 287 socket; then the 287 is plugged in on top of the 
special board. Because such boards separate the crystal and clock generator from the 
motherboard circuitry, the daughterboard can run the 80287 at any speed you want, up 
to the maximum rating of the chip — 8 MHz, 10 MHz, 12 MHz, or more — without affect- 
ing the rest of the system. 

You could, for example, add one of these daughterboards to your old 6 MHz AT and run 
a 287 at 10 MHz. Without the daughterboard, the chip would run at only 4 MHz. The 
boards are available from many math-coprocessor suppliers. Using these boards is highly 
recommended if you run math-intensive programs. Remember that this type of speed 
increase does not apply to systems that use 8087 or 80387 chips, because these systems 
must run the math coprocessor at the same speed as the main CPU. 

Intel has introduced new variations of the 80287 called the 287XL and 287XLT. (The 
original 287 has been discontinued; only the 287XL and XLT are available today.) The 
XL version is designed to be a replacement for the standard 287 math coprocessor. The 
XLT version is functionally identical to the XL, but has a plastic leadless chip carrier 
(PLCC) case, which some laptop systems require. 

These redesigned XL chips are patterned after the 387 instead of the 8087. The XL chips 
consume much less power than the original 287 chips because they are constructed with 
CMOS technology. The XL chips perform about 20 percent faster than the original 287 at 
any clock rate as a result of their improved design. The design improvements extend to 
the instruction set, which includes 387 trigonometric functions not available with older 
287 coprocessors. 

The XL chips are available at only one speed rating: 12.5 MHz. The chips can be run at 
lower speeds on slower systems. Unlike the 287 daughterboards, these chips do not in- 
crease the clock speed of a math chip. 

Many older diagnostics programs incorrectly identify the XL chips because they were 
designed after the 387 math chips. Some diagnostics simply indicate that the 287XL is a 
387; other diagnostics incorrectly show a problem with the math coprocessor if a 287XL 
is installed. Intel provides a special diagnostics program called CHKCOP (CHecK 
Coprocessor) that can test all its math coprocessors. You can get this program on disk 
from Intel's customer-support department or download it from the Intel BBS at (503) 
645-6275. 

After considering all these issues, if you decide to invest in a 287 chip, remember that 
only the XL or XLT versions are available now and that they are rated for up to 12.5 MHz 
operation. Adding the 287 to an AT is a good idea if the software that you use supports 
the chip. You also should consider using one of the math coprocessor-speedup 
daughterboards, which will run the newer XL chips at the maximum 12 MHz rating 
regardless of your system's clock speed. Otherwise, the benefits may not be enough to 
justify the cost. 



Math Coprocessors 213 

80387 Coprocessor 

Although the 80387 chips run asynchronously, 386 systems are designed so that the 
math chip runs at the same clock speed as the main CPU. Unlike the 80287 coprocessor, 
which was merely an 8087 with different pins to plug into the AT motherboard, the 
80387 coprocessor is a high-performance math chip designed specifically to work with 
the 386. 

All 387 chips use a low-power-consumption CMOS design. The 387 coprocessor has two 
basic designs: the 387DX coprocessor, which is designed to work with the 386DX proces- 
sor; and the 387SX coprocessor, which is designed to work with the 386SX, SL, or SLC 
processors. 

Intel originally offered several speeds for the 387DX coprocessor. But when the company 
designed the 33 MHz version, a smaller mask was required to reduce the lengths of the 
signal pathways in the chip. Intel reduced the feature size from 1.5 to 1 micron. This 
action reduced the size of the silicon chip by 50 percent. 

In addition to the size reduction, other design improvements were engineered into the 
new mask, resulting in a 20 percent improvement in processing efficiency. The 33 MHz 
version, therefore, outperformed other versions even at slower clock rates. 

At the time, purchasing the 33 MHz version of the 387DX was a good idea (even for a 20 v» 

MHz 386 system) because the chip would run 20 percent faster than a 20 MHz 387. In £ 

October 1990, however, Intel upgraded the entire 387DX line to the improved mask, 2 

resulting in a 20 percent performance boost across the board. ^ 

O 
You can easily identify these improved 387DX coprocessors by looking at the 10-digit 

code below the 387 part number. The older (slower) chips begin this line with the letter o 

S, and the improved (faster) chips do not. Recently, Intel discontinued all its 387DX jj 

processors except the 33 MHz version, which, of course, always used the new design. £+ 
(Remember that even though the chip is rated for 33 MHz, it runs at any lower speed.) 

The 387SX coprocessors are designed to work specifically with 386SX, SL, or SLC proces- 
sors. All versions of the 387SX use the improved mask design. When you select a 387SX 
for your system, be sure to purchase one rated at a speed equal to or higher than that of 
your CPU. Currently, Intel 387SX chips are available at speeds up to 25 MHz. 



Because Intel lagged in developing the 387 coprocessor, some early 386 systems were designed 
with a socket for a 287 coprocessor. Performance levels associated with that union, however, leave 
much to be desired. 



Installing a 387DX is easy, but you must be careful to orient the chip in its socket prop- 
erly; otherwise, the chip will be destroyed. The most common cause of burned pins on 
the 387DX is incorrect installation. In many systems, the 387DX is oriented differently 
from other large chips. Follow the manufacturer's installation instructions carefully to 



214 Chapter 6 — Microprocessor Types and Specifications 

avoid damaging the 387DX; Intel's warranty does not cover chips that are installed 
incorrectly. 

Several manufacturers have developed their own versions of the Intel 387 coprocessors, 
some of which are touted as being faster than the original Intel chips. The general com- 
patibility record of these chips is very good. Intel has significantly reduced the prices of 
its own coprocessors, however, which means that these third-party chips usually are only 
a few dollars cheaper than the Intel version. 

When the 387s were introduced, the Intel 33 MHz 387DX chips listed for more than 
$2,000. Today, you can buy the chip from various suppliers for as little as $90. The cost is 
so low that many people should consider making this upgrade. If the software that you 
run supports the chip, the performance gains can be very impressive. 

Weitek Coprocessors 

In 1981, several Intel engineers formed Weitek Corporation. Weitek has developed math 
coprocessors for several systems, including those based on Motorola processor designs. 
Intel originally contracted Weitek to develop a math coprocessor for the Intel 386 CPU, 
because Intel was behind in its own development of the 387 math coprocessor. The re- 
sult was the Weitek 1167, a custom math coprocessor that uses a proprietary Weitek 
instruction set that is incompatible with the Intel 387. 

The Weitek 1167 is not a single chip; it is a daughterboard consisting of several chip 
elements that plug into a special 112-pin Weitek socket. To use the Weitek processors, 
your system must have the required socket, which is incompatible with the 387 math 
coprocessor and 486SX processor enhancement sockets. The daughterboard includes a 
socket for an Intel 387 coprocessor so that both coprocessors can be installed in a system; 
as a result, software that runs either Weitek or Intel math instructions will work on such 
a system. 

The 1167 was replaced in April 1988 by a single-chip version called the 3167. Many com- 
puters, such as the COMPAQ 386, contain a special socket that enables you to use a 
Weitek 3167 math coprocessor or an Intel 387DX. This socket has three rows of holes on 
all four sides. The inner two rows of pins are compatible with the Intel 387DX. If you 
want to install a 387DX in the special socket, however, you must use extreme caution to 
orient the chip correctly; otherwise, you could damage both the computer and the 
387DX. 

Read your system documentation to determine the correct procedure for installing the 
387DX in your computer. Some computers, such as the Tandy 4000, use the Weitek 
socket, but do not support the 387DX. Contact your computer manufacturer or dealer 
for more specific information. 

Unfortunately, even if you have the socket for the Weitek processor, your software prob- 
ably does not support it. As mentioned, your software must contain programming code 
that makes use of the specific capabilities of a math coprocessor. 

Weitek introduced the 4167 coprocessor chip for 486 systems in November 1989. To use 
the Weitek coprocessor, your system must have the required additional socket. Before 



Processor Tests 215 

purchasing one of the Weitek coprocessors, you should determine whether your software 
supports it; then you should contact the software company to determine whether the 
Weitek has a performance advantage over the Intel coprocessor. 

80487 Upgrade 

The Intel 80486 processor was introduced in late 1989, and systems using this chip ap- 
peared during 1990. The 486DX integrated the math coprocessor into the chip. 

The 486SX began life as a full-fledged 486DX chip, but Intel actually disabled the built-in 
math coprocessor before shipping the chip. As part of this marketing scheme, Intel mar- 
keted what it called a 487SX math coprocessor. Motherboard manufacturers installed an 
Intel-designed socket for this so-called 487 chip. In reality, however, the 487SX math 
chip was a special 486DX chip with the math coprocessor enabled. When you plugged 
this chip into your motherboard, it disabled the 486SX chip and gave you the functional 
equivalent of a full-fledged 486DX system. 

Perhaps that somewhat strange marketing scheme is responsible for some of the confu- 
sion caused by the Intel advertisements that feature a 486SX system with a neon vacancy 
sign pointing to an empty socket next to the CPU chip. Unfortunately, these ads do not 
transmit the message properly. Few people seem to understand that the socket next to 
the CPU in a 486SX system is not a math-coprocessor socket, but an OverDrive socket. 

Essentially, systems that have this extra socket have two processor sockets; however, you 
can use only one of them at any time. When you install a chip in the secondary socket, 5 

that chip takes over from the primary processor and puts the original processor to sleep. ^ 

O 
Most newer 486SX systems use a surface-mounted PQFP (Plastic Quad Flat Pack) or SQFP 

(Small Quad Flat Pack) version that is permanently soldered to the motherboard. These o 

systems still have a conventional processor socket of a specific design for new OverDrive 
processors. These OverDrive chips will contain all processing functions, including the 
math-coprocessor functions, and will shut down the 486SX when they are installed. 
Depending on the type of processor socket on the motherboard, you can install a DX2 
or DX4 processor, or even a special version of the Pentium chip. 

For more information on this subject, see the section on OverDrive processors earlier in 
this chapter. 



Processor Tests 

The processor is easily the most expensive chip in the system. Processor manufacturers 
use specialized equipment to test their own processors, but you have to settle for a little 
less. The best processor-testing device to which you have access is a system that you 
know is functional; you then can use the diagnostics available from IBM and other sys- 
tem manufacturers to test the motherboard and processor functions. Most systems 
mount processors in a socket for easy replacement. 

Landmark offers specialized diagnostics software called Service Diagnostics to test var- 
ious processors. Special versions are available for each processor in the Intel family. If 



tf 



3 

n 

3 



216 Chapter 6 — Microprocessor Types and Specifications 

you don't want to purchase this kind of software, you can perform a quick-and-dirty 
processor evaluation by using the normal diagnostics program supplied with your 
system. 

Because the processor is the brain of a system, most systems don't function with a defec- 
tive one. If a system seems to have a dead motherboard, try replacing the processor with 
one from a functioning motherboard that uses the same CPU chip. You may find that 
the processor in the original board is the culprit. If the system continues to play dead, 
however, the problem is elsewhere. 

Known Defective Chips 

A few system problems are built in at the factory, although these bugs or design defects 
are rare. By learning to recognize one of these problems, you may avoid unnecessary 
repairs or replacements. This section describes several known defects in system 
processors. 

Early 8088s. A bug in some early 8088 processors allowed interrupts to occur after a 
program changed the stack segment register. (An interrupt usually is not allowed until 
the instruction after the one that changes the stack segment register.) This subtle bug 
may cause problems in older systems. Most programmers have adopted coding proce- 
dures that work around the bug, but you have no guarantee that these procedures exist 
in all software programs. 

Another problem is that the bug may affect the operation of an 8087 math coprocessor. 
Approximately 200,000 IBM PC units sold during 1981 and 1982 were manufactured 
with the defective chip. 

Originally, in the 8087 math-coprocessor-chip package, IBM always included an 8088 to 
be installed with the math chip. This practice led to rumors that the parts somehow 
matched. The rumors were unfounded; IBM had simply found an easy way to prevent 
machines that used its 8087 chips from using the defective 8088. Because the cost of the 
chip was negligible, IBM included a bug-free 8088 and eliminated many potential service 
problems. 

You can check the 8088 chip with diagnostics software, or you can identify a good or 
bad chip by its appearance. If you can open the unit to look at the 8088 chip, the manu- 
facturer and copyright date printed on the chip provide clues about which version you 
have. An 8088 chip made by a manufacturer other than Intel is bug-free, because Intel 
began licensing the chip mask to other manufacturers after the bug was corrected. If a 
chip was manufactured by Intel, older (defective) parts have a 1978 copyright date; 
newer (good) parts have 1978 and 1981 (or later) copyright dates. 

This marking on Intel 8088 chips indicates a chip that has the interrupt bug: 

8088 

©INTEL 1978 



Processor Tests 217 



The following markings on Intel 8088 chips indicate chips on which the bug is corrected: 
8088 8088 

©INTEL 78 '81 ©INTEL 78 '83 

Many diagnostics programs can identify the chip. You also can identify the chip yourself 
by using DEBUG, which comes in DOS versions 2.0 and later. Just load DEBUG at the 
prompt, and enter the commands shown in the following example. The commands that 
you enter appear in boldface type; the DEBUG screen output is not. XXXX indicates a seg- 
ment address, which varies from system to system: 

-A 100 

[XXXX: 01 00] MOV ES,AX 

[XXXX:0102] INC AX 

[XXXX:0103] NOP 

[XXXX:0104] 

-T 

AX=0001 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 

DS=XXXX ES=0000 SS=XXXX CS=XXXX IP=0103 NV UP EI PL NZ NA P0 NC 

XXXX: 01 03 90 NOP 



tf 



-Q 3 

n 

o 

The A 1 00 command tells DEBUG to assemble some instructions, of which three are 3 

entered. The T command then executes a Trace, which normally executes a single in- 
struction, displays the contents of the 8088's registers, and then stops. The Trace com- 3 
mand usually executes only one instruction. However, when the instruction is MOV to a 3 
segment register, as in this case, the Trace command should execute the second instruc- "* 
tion before interrupting the program. The third instruction is a dummy no-operation 
instruction. 

Look at the value shown by DEBUG for the register AX. If AX is equal to 0000, the proces- 
sor has a bug. If AX is 0001 , the second instruction in the test was executed properly, and 
the chip is good. If the second instruction is executed, DEBUG increments the value of 
the AX register by 1 . In this example, after the Trace is executed, AX equals 0001 , which 
indicates a good chip. 



If you try this test on a 286 or higher system, the test will fail; it is valid only for 8088s. 



If you have an 8087 and a 4.77 MHz 8088 dated 1978 or an 8088 that fails this test, you 
can get a free replacement 8088. Contact Intel customer support for the replacement. 
Only 4.77 MHz 8088 chips may need to be upgraded. The 8088-2 and 8088-1 do not 



218 Chapter 6 — Microprocessor Types and Specifications 

require replacement. You also can purchase a replacement 8088 from most chip houses 
for less than $10. If you suspect that your chip is bad, a replacement is inexpensive 
insurance. 

Early 80386s. Some early 16 MHz Intel 386DX processors had a small bug that you may 
encounter in troubleshooting what seems to be a software problem. The bug, which 
apparently is in the chip's 32-bit multiply routine, manifests itself only when you run 
true 32-bit code in a program such as OS/2 2.x, UNIX/386, or Windows in Enhanced 
mode. Some specialized 386 memory-management software systems also may invoke this 
subtle bug, but 16-bit operating systems (such as DOS and OS/2 1.x) probably will not. 

The bug usually causes the system to lock up. Diagnosing this problem can be difficult 
because the problem generally is intermittent and software-related. Running tests to find 
the bug is difficult; only Intel, with proper test equipment, can determine whether your 
chip has a bug. Some programs can diagnose the problem and identify a defective chip, 
but they cannot identify all defective chips. If a program indicates a bad chip, you cer- 
tainly have a defective one; if the program passes the chip, you still may have a defective 
one. 

Intel requested that its 386 customers return possibly defective chips for screening, but 
many vendors did not return them. Intel tested returned chips and replaced defective 
ones. The known-defective chips later were sold to bargain liquidators or systems houses 
that wanted chips that would not run 32-bit code. The known-defective chips were 
stamped with a 1 6 -bit SW Only logo, indicating that they were authorized to run only 
16-bit software. 

Chips that passed the test, and all subsequent chips produced as bug-free, were marked 
with a double-sigma ( ) code, which indicates a good chip. 386DX chips that are not 
marked with either 1 6 -bit SW Only or the designation have not been tested by Intel and 
may be defective. 

The following marking indicates that a chip has not yet been screened for the defect; it 
may be either good or bad. Return a chip of this kind to the system manufacturer, which 
will return the chip for a free replacement: 

80386-16 

The following marking indicates that the chip has been tested and has the 32-bit multi- 
ply bug. The chip works with 16-bit software (such as DOS) but not with 32-bit, 386- 
specific software (such as Windows or OS/2): 

80386-16 

16-bit SW Only 

The following mark on a chip indicates that it has been tested as defect-free. This chip 
fulfills all the capabilities promised for the 80386: 

80386-16 



# 



Processor Tests 219 

This problem was discovered and corrected before Intel officially added DX to the part 
number. So, if you have a chip labeled 80386DX or 386DX, it does not have this problem. 

Another problem with the 386DX can be stated more specifically. When 386-based ver- 
sions of XENIX or other UNIX implementations are run on a computer that contains a 
387DX math coprocessor, the computer locks up under certain conditions. The problem 
does not occur in the DOS environment, however. For the lockup to occur, all the fol- 
lowing conditions must be in effect: 

■ Demand page virtual memory must be active. 

■ A 387DX must be installed and in use. 

■ DMA (direct memory access) must occur. 

■ The 386 must be in a wait state. 

When all these conditions are true at the same instant, the 386DX ends up waiting for 
the 387DX, and vice versa. Both processors will continue to wait for each other indefi- 
nitely. The problem is in certain versions of the 386DX, not in the 387DX math 
coprocessor. 

Intel published this problem (Errata 21) immediately after it was discovered to inform its 
OEM customers. At that point, it became the responsibility of each manufacturer to 
implement a fix in its hardware or software product. Some manufacturers, such as * 

COMPAQ and IBM, responded by modifying their motherboards to prevent these lock- 
ups from occurring. O 

The Errata 21 problem occurs only in the B Stepping version of the 386DX and not in 

the later D Stepping version. You can identify the D Stepping version of the 386DX by 3 

the letters DX in the part number (for example, 386DX-20). If DX is part of the chip's 3 

part number, the chip does not have this problem. ** 

Pentium Defects. In the summer of 1994, more than one year after the Pentium had 
been introduced, on-going internal testing at Intel finally came upon the floating-point 
error. At the time, Intel was puzzled as to why neither it nor anyone else had encoun- 
tered the problem earlier. After months of analysis, Intel concluded that the error was 
only likely to occur at a frequency of the order of once in 9 billion random floating- 
point divides, and that this many divides in all the programs it evaluated (which in- 
cluded many scientific programs) would require 27 years to occur. Because Intel thought 
the error could only happen once in 27 years, that would be longer than the mean time 
to failure of the physical computer system itself. Unfortunately, this estimate did not 
take into account the fact that the error itself was not random, and specific sets of num- 
bers could encounter the error very frequently indeed. 

The Floating-Point Divide Bug. Probably the most famous processor bug in history 
is the now legendary flaw in the Pentium FPU. It has often been called the FDIV bug, 
because it affects primarily the FDIV (Floating-Point Divide) instruction, although several 
other instructions that use division are also affected. Intel officially refers to this problem 



220 Chapter 6 — Microprocessor Types and Specifications 

as Errata No. 23, titled "Slight precision loss for floating-point divides on specific oper- 
and pairs." The bug has been fixed in the Dl or later steppings of the 60/66 MHz 
Pentium processors, as well as the B5 and later steppings of the 75/90/100 MHz proces- 
sors. The 120 MHz and higher processors are manufactured from later steppings, which 
do not include this problem. 

This bug caused a tremendous fervor when it first was reported on the Internet by a 
mathematician on October 30, 1994. Within a few days, news of the defect had spread 
nationwide, and even people who did not have computers had heard about it! By using 
certain combinations of numbers, the Pentium would incorrectly perform floating-point 
division calculations, with errors anywhere from the third digit on up. 

By the time the bug was publicly discovered outside of Intel, it had already incorporated 
the fix into the next stepping of both the 60/66 MHz and the 75/90/100 MHz Pentium 
processor along with the other corrections it had made. 

After the bug was made public and Intel admitted to already knowing about it, a fury 
erupted. As people began checking their spreadsheets and other math calculations, many 
discovered that they had also encountered this problem and did not know it. Others 
who had not really encountered the problem had their faith in the core of their PCs very 
shaken. People had come to put so much trust in the PC that they had a hard time com- 
ing to terms with the fact that it might not even be able to do math correctly! 

Intel finally decided that in the best interest of the consumer as well as its public image, 
it would begin a lifetime replacement warranty on the affected processors. This means 
that if one ever encounters one of the Pentium processors with the Errata 23 Floating- 
Point bug, Intel will replace the processor with an equivalent one without this problem. 
Normally, all you have to do is to call Intel and ask for the replacement. It will ship you 
a new part matching the ratings of the one you are replacing in an overnight shipping 
box. The replacement is free, including all shipping charges. You merely remove your old 
processor, replace it with the new one, and then put the old one back in the box. Then 
you call the overnight service who will pick it up and send it back. Intel will take a credit 
card number when you first call for the replacement only to ensure that the original 
defective chip is returned. As long as Intel gets the original CPU back within a specified 
amount of time, there will be no charges to you. Intel has indicated that these defective 
processors will be destroyed and will not be remarketed or resold in another form. 

The Discovery. The floating-point problem was first discovered by Dr. Thomas Nicely, 
Lynchburg College, VA on June 13, 1994 as he was working on a research project in an 
area of pure mathematics called computational number theory. This involved computa- 
tions with twin prime numbers and reciprocal sums out to 19 or more digits of accuracy. 
Cross checks of some test calculations done on a Pentium system turned up errors when 
compared to known published values. 

After thoroughly testing the software for problems (and uncovering other unrelated 
problems), tests showed that by disabling the FPU, these errors disappeared. Tests on 
other Pentium systems confirmed the errors; however, when the tests were run on a 486, 
the errors also disappeared. Tests using other compilers or languages confirmed that the 
error was not software related. 



Processor Tests 221 

After testing over a period of more than two months, on October 24, Dr. Nicely con- 
tacted Intel tech support. Unfortunately, after waiting for six days, they still had no an- 
swer for him concerning the math problems. In an effort to locate other individuals with 
Pentium systems to test, on October 30 he sent a series of e-mail messages to a number of 
individuals and organizations who would have access to many other Pentium systems so 
that they could check for the problem. Because virtually every one of the five million (!) 
Pentium processors out at the time were flawed, everybody started finding these math 
errors, and a virtual explosion of e-mail on the subject appeared on the Net. Intel's initial 
responses were very guarded, which made the topic even more explosive. 

The Furor. The negative publicity about this problem practically burned the phone 
wires across the country as people were sending e-mail back and forth through the 
Internet about the problem. Intel stock immediately dropped, and news about the bug 
even hit the prime time news. Estimates of the costs involved with replacing all the five 
million or so flawed processors ran into the hundreds of millions of dollars. 

Rather than jump in to put out the fire, Intel downplayed the problem and indicated 
that most people would not need a replacement. Instead of soothing the problem, this 
response was like throwing gas on a fire. People were especially incensed that Intel had 
discovered the bug before Dr. Nicely had already implemented the fix, but had not told 
either end users or the manufacturers who use its processors. 

Adding even more fuel to the fire was the fact that the Pentium had been the subject of a 
high-profile advertising campaign by Intel, which was designed to draw attention specifi- 
cally to the processor in the high-end systems of the time. And although all processors n 
have defects, this one occurs in an elementary, frequently used operation that is easy to 

demonstrate to those who have little or no computer background. ^ 

O 

I'm sure that Intel and many other companies who watched the developing furor sur- 
rounding this bug have learned a great deal. Certainly it is important to admit mistakes j* 
quickly and directly, and to take all the steps necessary to correct the situation to the 
customer's satisfaction. Another lesson everybody learned is how important a tool the 
Internet can be for the disseminating of information, both good and bad. 

One interesting result of the fervor surrounding this defect is that people are less likely 
to implicitly trust their PCs (which is good), and are therefore doing more testing and 
evaluating of important results. The bottom line is that if your information and calcula- 
tions are important enough, you should implement some program of checking your 
results. In looking for problems with math, several programs were found to have prob- 
lems. For example, a bug was discovered in the yield function of Excel 5.0 that some 
users were attributing to the Pentium processor. In this case, the problem turned out to 
be the software, which has been corrected in later versions (5.0c and later). 

If you want to read the official Intel account of this problem, Intel has several documents 
on the problem available through its Faxback network, BBS, CompuServe, or the Internet 
(see the vendor list in Appendix B). 

A Technical Explanation. The Pentium uses a much more aggressive algorithm for 
hardware floating-point division than did the 486; this is indicated by the fact that it 



tf 



n 



222 Chapter 6 — Microprocessor Types and Specifications 

uses only about half as many clock cycles per floating-point division. The difficulty arises 
from an error in the lookup tables used to implement the hardware division algorithm; 
the lookup tables are incomplete. 

The FPU error can occur in any of the following instructions that use the floating point 
divide routines in the chip: FDIV, FDIVP, FDIVR, FDIVRP, FIDIV, FIDIVR, FPREM, 
FPREM1, FPTAN, or FPATAN. 

During execution of the affected instructions, the hardware uses a divider circuit that 
relies on a quotient prediction lookup algorithm. Five entries from the lookup table were 
accidentally omitted. As a result, a divisor/remainder pair that hits one of these missing 
entries during the lookup phase of the division algorithm will incorrectly predict an 
intermediate quotient digit value. 

Testing for the FPU Bug. Testing a Pentium for this bug is relatively easy. All you have 
to do is to execute one of the test division cases cited here and see if your answer com- 
pares to the correct result. 

The division calculation can be done in a spreadsheet (such as Lotus 1-2-3, Microsoft 
Excel, or any other), in the Microsoft Windows built-in calculator, or in any other calcu- 
lating program that uses the FPU. Make sure that for the purposes of this test the FPU has 
not been disabled. That would normally require some special command or setting spe- 
cific to the application, and would of course ensure that the test came out correct no 
matter if the chip is flawed or not. 

The most severe Pentium floating-point errors occur as early as the third significant digit 
of the result. Here is an example of one of the more severe instances of the problem: 

962,306,957,033 / 11,010,046 = 87,402.6282027341 (correct answer) 

962,306,957,033 / 11,010,046 = 87,399.5805831329 (flawed Pentium) 

Note that your particular calculator program may not show the answer to the number of 
digits shown here. Most spreadsheet programs limit displayed results to 13 or 15 signifi- 
cant digits. 

As you can see, in the previous case the error turns up in the third most significant digit 
of the result. In an examination of more than 5,000 integer pairs in the 5 to 15 digit 
range found to produce Pentium floating-point division errors, errors beginning in the 
sixth significant digit were the most likely to occur, although errors occurred anywhere 
from the third digit on up. 

Here is another division problem that will come out incorrectly on a Pentium with this 
flaw: 

4,195,835 / 3,145,727 = 1.33382044913624100 (correct answer) 

4,195,835 / 3,145,727 = 1.33373906890203759 (flawed Pentium) 

This one shows an error in the fifth significant digit. A variation on the previous calcula- 
tion can be performed as follows: 



# 



Processor Tests 223 

x = 4,195,835 

y = 3,145,727 

z = x - (x/y)*y 

4,195,835 - (4,195,835 / 3,145,727) * 3,145,727 = (correct answer) 

4,195,835 - (4,195,835 / 3,145,727) * 3,145,727 = 256 (flawed Pentium) 

With an exact computation, the answer here should be zero. In fact, you will get zero on 
most machines, including those using Intel 286, 386, and 486 chips. But, on the 
Pentium, the answer is 256. 

Here is one more calculation you can try: 

5,505,001 / 294,911 = 18.66665197 (correct answer) 

5,505,001 / 294,911 = 18.66600093 (flawed Pentium) 

This one represents an error in the sixth significant digit. 

If you don't want to try all these calculations, there are two other ways to determine 

whether your Pentium has this bug. One way is to run the CPUID program supplied by 

Intel via its BBS. You can download the file $ CPUID. EXE, which is a self-extracting file 

containing the CPUIDF.EXE program. This program identifies which type of processor * 

you have, and if you have a Pentium, it will tell you whether it has the floating-point 

bug or not. If the program discovers a bugged chip, it displays on-screen instructions o 

listing where to call and how to get a free replacement. 3 

O 
Another way to determine if your processor is defective or not is to check the stepping 3 

level. This will be displayed by the CPUID program or can be determined by looking at 3 

the chip itself. Unfortunately, the stepping level is not stamped on the chip, but must be ** 

determined by looking up the lot code on the chip in the table at the end of this section. 

Workarounds. There are several workarounds for this bug, but they extract a 
performance penalty. Intel has a software workaround that can be implemented by the 
compiler companies to produce programs that check for the defective processors, and if 
necessary, work around the problem. One technique they use is to replace each division 
by a function call. The function call first performs the division directly, and then tests 
the answer for correctness (by comparing (x/y)*x to y). If the result is in error due to the 
Pentium bug, the numerator and denominator are each multiplied by 3 (which changes 
the number sufficiently to eliminate the problem), and the division is repeated. This 
process is continued in a loop until the result checks correctly. 

The bug can also be temporarily circumvented for some applications by simply locking 
out the FPU. Check with the documentation for your particular application as to how 
this can be done. As an example, for most DOS applications, this can be done by means 
of the DOS SET command. For example, 

SET 87=NO 



224 Chapter 6 — Microprocessor Types and Specifications 

(for executable programs created by Borland compilers) and 
SET N087=N087 

(for executables created by Microsoft compilers). These commands will stop programs 
created by these compilers from using the floating-point math instructions. Unfortu- 
nately, this will significantly hurt performance in any application that uses the FPU. 
Also, some applications require an FPU, and most Windows programs ignore these envi- 
ronmental variables. Be sure to test the application to ensure that the FPU has been dis- 
abled, and that the calculations now come out correct. 

The recompiled code workarounds only work for applications whose code has been re- 
written, recompiled, and reshipped since the bug appeared. Previously existing programs 
can only avoid the bug by locking out the FPU. Forcing the application to test each cal- 
culation slows the machine down slightly, perhaps 30 percent (dependent on the appli- 
cation). Locking out the FPU may slow the machine down by a factor of ten or more, 
also depending on the application. 

Because Intel has agreed to replace any Pentium processor with this flaw under a lifetime 
warranty replacement program, if you have a chip with this defect, the best workaround 
is a free replacement! 

Power Management Bugs. Starting with the second-generation Pentium processors, 
Intel added functions that allow these CPUs to be installed in energy efficient systems. 
These are usually called Energy Star systems because they meet the specifications im- 
posed by the EPA Energy Star Program, but they are also unofficially called "Green PCs" 
by many users. 

Unfortunately, there have been several bugs with respect to these functions, causing 
them to either fail or be disabled. These bugs are in some of the functions in the power 
management capabilities accessed through SMM. These problems are only applicable to 
the second-generation 75/90/100 MHz processors, because the first-generation 60/66 
MHz processors do not have SMM or power management capabilities, and all higher 
speed (120 MHz and up) processors have the bugs fixed. 

Most of the problems are related to the STPCLK# pin and the HALT instruction. If this 
condition is invoked by the chipset, the system will hang. For most systems, the only 
workaround for this problem is to simply disable the power-saving modes, such as sus- 
pend or sleep. Unfortunately, this means that your "green" PC won't be so green any- 
more! The best way to repair the problem is to replace the processor with a later stepping 
version that does not have the bug. These bugs affect the Bl stepping version of the 
75/90/100 MHz Pentiums, and were fixed in the B3 and later stepping versions. 

Pentium Processor Models and Stoppings 

It is a sort of dirty little secret in the business that no processor is truly ever perfect. From 
time to time, the manufacturers will gather up what problems they have found and put 
into production a new "stepping," which consists of a new set of masks that incorporate 
the corrections. Each subsequent stepping is better and more refined than the previous 
ones. Although no microprocessor is ever perfect, manufacturers come closer to 



Processor Tests 



225 



perfection with each stepping. In the life of a typical microprocessor, a manufacturer 
may go through half-dozen or more such steppings. 

The following table shows all the versions of the Pentium processor Model 1 (60/66 MHz 
version) indicating the various steppings that have been available: 



Mfg. 
Type Family Model Stepping Stepping Speed 



Spec. 

Number Comments 






5 


3 


B1 


50 


Q0399 


ES 





5 


3 


B1 


60 


Q0352 







5 


3 


B1 


60 


Q0400 


ES 





5 


3 


B1 


60 


Q0394 


ES,HS 





5 


3 


B1 


66 


Q0353 


5vl 





5 


3 


B1 


66 


Q0395 


ES,HS,5v1 





5 


3 


B1 


60 


Q0412 







5 


3 


B1 


60 


SX753 







5 


3 


B1 


66 


Q0413 


5v2 





5 


3 


B1 


66 


SX754 


5v2 





5 


5 


C1 


60 


Q0466 


HS 





5 


5 


CI 


60 


SX835 


HS 





5 


5 


CI 


60 


SZ949 


HS,BOX 





5 


5 


CI 


66 


Q0467 


HS,5v2 





5 


5 


CI 


66 


SX837 


HS,5v2 





5 


5 


C1 


66 


SZ950 


HS,BOX,5v2 





5 


7 


D1 


60 


Q0625 


HS 





5 


7 


D1 


60 


SX948 


HS 





5 


7 


D1 


60 


SX974 


HS,5v3 





5 


7 


D1 


60 


_* 


HS,BOX 





5 


7 


D1 


66 


Q0626 


HS,5v2 





5 


7 


D1 


66 


SX950 


HS,5v2 





5 


7 


D1 


66 


Q0627 


HS,5v3 





5 


7 


D1 


66 


SX949 


HS,5v3 





5 


7 


D1 


66 


* 


HS,BOX,5v2 




# 



» 

3 

n 

o 

3 

•a 
o 

3 
(6 

3 



The following table shows all the versions of the Pentium processor Model 2 and higher 
(75+ MHz versions) indicating the various steppings that have been available: 

Mfg. Spec. 

Type Family Model Stepping Stepping Speed Number Comments 






5 


2 


B1 


75 


Q0540 


ES,HS 


2 


5 


2 


B1 


75 


Q0541 


ES,HS 





5 


2 


B1 


90 


Q0542 


HS 





5 


2 


B1 


90 


Q0613 


VR,HS 


2 


5 


2 


B1 


90 


Q0543 


DP,HS 

(continues) 



226 



Chapter 6 — Microprocessor Types and Specifications 



(continued) 
















Type 


Family 


Model 


Stepping 


Mfg. 
Stepping 


Speed 


Spec. 
Number 


Comments 





5 


2 




B1 


100 


Q0563 


HS 





5 


2 




B1 


100 


Q0587 


VR,HS 





5 


2 




B1 


100 


Q0614 


VR,HS 





5 


2 




B1 


75 


Q0601 


TCP 





5 


2 




B1 


90 


SX879 


HS 





5 


2 




B1 


90 


SX885 


MD,HS 





5 


2 




B1 


90 


SX909 


VR,HS 


2 


5 


2 




B1 


90 


SX874 


DP,HS 





5 


2 




B1 


100 


SX886 


MD,HS 





5 


2 




B1 


100 


SX910 


VR,MD,HS 





5 


2 


2 


B3 


90 


Q0628 


HS 


0/2 


5 


2 


2 


B3 


90 


Q0611 


HS 


0/2 


5 


2 


2 


B3 


90 


Q0612 


VR,HS 





5 


2 


2 


B3 


100 


Q0677 


VRE,MD,HS 





5 


2 


2 


B3 


75 


Q0606 


TCP 





5 


2 


2 


B3 


75 


SX951 


TCP 





5 


2 


2 


B3 


90 


SX923 


HS 





5 


2 


2 


B3 


90 


SX922 


VR,HS 





5 


2 


2 


B3 


90 


SX921 


MD,HS 


2 


5 


2 


2 


B3 


90 


SX942 


DP,HS 


2 


5 


2 


2 


B3 


90 


SX943 


DP,VR,HS 


2 


5 


2 


2 


B3 


90 


SX944 


DP,MD,HS 





5 


2 


2 


B3 


90 


SZ951 


BOX 





5 


2 


2 


B3 


100 


SX960 


VRE,MD,HS 


0/2 


5 


2 


4 


B5 


75 


Q0704 


TCP 


0/2 


5 


2 


4 


B5 


75 


Q0666 


HS 


0/2 


5 


2 


4 


B5 


90 


Q0653 


HS 


0/2 


5 


2 


4 


B5 


90 


Q0654 


VR,HS 


0/2 


5 


2 


4 


B5 


90 


Q0655 


MD,HS 


0/2 


5 


2 


4 


B5 


100 


Q0656 


MD,HS 


0/2 


5 


2 


4 


B5 


100 


Q0657 


VR,MD,HS 


0/2 


5 


2 


4 


B5 


100 


Q0658 


VRE,MD,HS 





5 


2 


4 


B5 


120 


Q0707 


VRE,MD,HS 





5 


2 


4 


B5 


120 


Q0708 


HS 





5 


2 


4 


B5 


75 


SX975 


TCP 


0/2 


5 


2 


4 


B5 


75 


SX961 


HS 


0/2 


5 


2 


4 


B5 


75 


SZ977 


HS,BOX 


0/2 


5 


2 


4 


B5 


90 


SX957 


HS 


0/2 


5 


2 


4 


B5 


90 


SX958 


VR,HS 


0/2 


5 


2 


4 


B5 


90 


SX959 


MD,HS 



Processor Tests 



227 



Type Family Model Stepping 



0/2 
0/2 
0/2 



Mfg. 
Stepping 



Speed 



Spec. 
Number 



Comments 



0/2 


5 


2 


4 


B5 


90 


SZ978 


HS,BOX 




0/2 


5 


2 


4 


B5 


100 


SX962 


VRE,MD,HS 







5 


2 


5 


C2 


75 


Q0725 


TCP 




0/2 


5 


2 


5 


C2 


75 


Q0700 






0/2 


5 


2 


5 


C2 


75 


Q0749 


MD 




0/2 


5 


2 


5 


C2 


90 


Q0699 






0/2 


5 


2 


5 


C2 


100 


Q0698 


VRE,MD 




0/2 


5 


2 


5 


C2 


100 


Q0697 









5 


2 


5 


C2 


120 


Q0711 


VRE,MD 







5 


2 


5 


C2 


120 


Q0732 


VRE,MD 







5 


2 


5 


C2 


133 


Q0733 


MD 







5 


2 


5 


C2 


133 


Q0751 


MD 







5 


2 


5 


C2 


133 


Q0775 


VRE,MD 


m 





5 


2 


5 


C2 


75 


SKO 79 


TCP 




0/2 


5 


2 


5 


C2 


75 


SX969 






0/2 


5 


2 


5 


C2 


75 


SX998 


MD 




0/2 


5 


2 


5 


C2 


75 


SZ994 


BOX 


M 

1* 


0/2 


5 


2 


5 


C2 


75 


SU070 


BOXF 


0/2 


5 


2 


5 


C2 


90 


SX968 




n 
3 


0/2 


5 


2 


5 


C2 


90 


SZ995 


BOX 


n 


0/2 


5 


2 


5 


C2 


90 


SU031 


BOXF 




3 


0/2 


5 


2 


5 


C2 


100 


SX970 


VRE,MD 





0/2 


5 


2 


5 


C2 


100 


SX963 




3 

n 


0/2 


5 


2 


5 


C2 


100 


SZ996 


BOX 


3 
i* 


0/2 


5 


2 


5 


C2 


100 


SU032 


BOXF 


M 





5 
5 


2 
2 


5 
5 


C2 
C2 


120 
120 


SK086 
SX994 


VRE,MD 
VRE,MD 












5 


2 


5 


C2 


120 


SU033 


VRE,MD,BOXF 







5 


2 


5 


C2 


133 


SK098 


MD 







5 


2 


5 


mAI 


75 


Q0686 


VRTJCP 







5 


2 


5 


mA1 


75 


Q0689 


VRT 







5 


2 


5 


mAI 


90 


Q0694 


VRTJCP 







5 


2 


5 


mAI 


90 


Q0695 


VRT 







5 


2 


5 


mAI 


75 


SK089 


VRTJCP 







5 


2 


5 


mAI 


75 


SK091 


VRT 







5 


2 


5 


mAI 


90 


SK090 


VRTJCP 







5 


2 


5 


mAI 


90 


SK092 


VRT 





cBI 
cBI 
cBI 



120 
133 
133 



Q0776 
Q0772 
Q0773 



(continues) 



228 



Chapter 6 — Microprocessor Types and Specifications 



(continued) 



Type Family Model Stepping 



Mfg. 
Stepping 



Speed 



Spec. 
Number 



Comments 



0/2 


5 


2 


B 


cB1 


133 


Q0774 


VRE,MD 


0/2 


5 


2 


B 


cBI 


120 


SK110 




0/2 


5 


2 


B 


cBI 


133 


SKI 06 




0/2 


5 


2 


B 


cBI 


133 


S106J 




0/2 


5 


2 


B 


cBI 


133 


SKI 07 




0/2 


5 


2 


B 


cBI 


133 


SU038 


BOXF 





5 


2 


B 


mcB1 


100 


Q0884 


VRTJCP 





5 


2 


B 


mcB1 


120 


Q0779 


VRTJCP 





5 


2 


B 


mcB1 


120 


Q0808 







5 


2 


B 


mcB1 


100 


SY029 


VRTJCP 





5 


2 


B 


mcB1 


120 


SK1 13 


VRTJCP 





5 


2 


B 


mcB1 


120 


SK118 


VRTJCP 





5 


2 


B 


mcB1 


120 


SX999 




0/2 


5 


2 


C 


cCO 


150 


Q0835 




0/2 


5 


2 


C 


cCO 


150 


Q0878 


PPGA 


0/2 


5 


2 


C 


cCO 


166 


Q0836 


VRE 


0/2 


5 


2 


c 


cCO 


166 


Q0841 


VRE 


0/2 


5 


2 


c 


cCO 


166 


Q0886 


VRE,PPGA 


0/2 


5 


2 


c 


cCO 


166 


Q0890 


VRE,PPGA 





5 


2 


c 


cCO 


166 


Q0949 


VRE,PPGA 


0/2 


5 


2 


c 


cCO 


150 


SY015 




0/2 


5 


2 


c 


cCO 


150 


SU071 


BOXF 


0/2 


5 


2 


c 


cCO 


166 


SY016 


VRE 


0/2 


5 


2 


c 


cCO 


166 


SY017 


VRE 


0/2 


5 


2 


c 


cCO 


166 


SU072 


VRE,BOXF 





5 


2 


c 


cCO 


166 


SY037 


VRE,PPGA 





5 


7 





mA4 


75 


Q0848 


VRTJCP 





5 


7 





mA4 


75 


Q0851 


VRT 





5 


7 





mA4 


90 


Q0849 


VRTJCP 





5 


7 





mA4 


90 


Q0852 


VRT 





5 


7 





mA4 


100 


Q0850 


VRTJCP 





5 


7 





mA4 


100 


Q0853 


VRT 





5 


7 





mA4 


75 


SK119 


VRTJCP 





5 


7 





mA4 


75 


SKI 22 


VRT 





5 


7 





mA4 


90 


SKI 20 


VRTJCP 





5 


7 





mA4 


90 


SK123 


VRT 





5 


7 





mA4 


100 


SK121 


VRTJCP 





5 


7 





mA4 


100 


SKI 24 


VRT 



mcCO 
mcCO 



120 
120 



Q0879 
Q0880 



VRTJCP 
3.1v 



Processor Tests 



229 



Mfg. Spec. 

Type Family Model Stepping Stepping Speed Number Comments 






5 


2 


C 


mcCO 


133 


Q0881 


VRTJCP 







5 


2 


C 


mcCO 


133 


Q0882 


3.1v 







5 


2 


C 


mcCO 


120 


SY021 


VRTJCP 







5 


2 


C 


mcCO 


120 


SY027 


3.1v 







5 


2 


C 


mcCO 


120 


SY030 









5 


2 


C 


mcCO 


133 


SY019 


VRTJCP 







5 


2 


c 


mcCO 


133 


SY028 


3.1v 







5 


2 


6 


E0 


75 


Q0846 


TCP 




0/2 


5 


2 


6 


E0 


75 


Q0837 






0/2 


5 


2 


6 


E0 


90 


Q0783 






0/2 


5 


2 


6 


E0 


100 


Q0784 






0/2 


5 


2 


6 


E0 


120 


Q0785 


VRE 







5 


2 


6 


E0 


75 


SY009 


TCP 


m 


0/2 


5 


2 


6 


E0 


75 


SY005 






0/2 


5 


2 


6 


E0 


90 


SY006 






0/2 


5 


2 


6 


E0 


100 


SY007 






0/2 


5 


2 


6 


E0 


120 


SY033 




# 


The following table shows all the versions of the Pentium OverDrive processors indicat- 
ing the various steppings that have been available. Note that the Type 1 chips in this 
table are 486 Pentium OverDrive processors, which are designed to replace 486 chips in 
systems with Socket 2 or 3. The other OverDrive processors are designed to replace exist- 
ing Pentium processors in socket 4 or 5/7. 


M 

1* 
» 

n 



3 

■o 


3 
(6 

3 
i* 

VI 


Type 


Family 


Model 


Stepping 


Mfg. 
Stepping 


Speed 


Spec. 
Number 


Comments 


1 


5 

5 


3 

3 


1 
1 


Bl 

B2 


63 

63 


SZ953 
SZ990 


PODP5v63 1 .0 
PODP5v63 1.1 




1 




1 


5 


3 


2 


CO 


83 


SU014 


PODP5v83 2.1 







5 


1 


A 


tAO 


133 


SU082 


PODP5v133 1.0 







5 


2 


C 


aCO 


125 


SU081 


PODP3v125 1.0 







5 


2 


C 


aCO 


150 


SU083 


PODP3v150 1.0 







5 


2 


C 


aCO 


166 


SU084 


PODP3v166 1.0 





ES = Engineering Sample. These chips were not sold through normal channels but were designed for 

development and testing purposes. 

HS = Heat Spreader Package. This indicates a chip with a metal plate on the top, which is used to spread heat 

away from the center part of the chip. The heat spreader helps the chip run cooler; however, most later chips use 

a smaller, more powerful efficient die, and Intel has been able to eliminate the heat spreader from these. 

DP = Dual Processor version where Type is Primary only, Type 2 is Secondary only, and Type or 2 is 

either. 

MD = Minimum Delay timing restrictions on several processor signals. 

VR = Voltage Reduced (3.300v to 3.465 v) 

VRE = VR and Extended (3.45v to 3.60v) 



230 Chapter 6 — Microprocessor Types and Specifications 

VRT = Voltage Reduction Technology: The processor I/O voltage is 3.3v, but the processor core runs on 2.9v. 
TCP = Tape Carrier Package (Mobile Pentium). This is a filmstrip type package intended mainly for laptop 
or notebook system use. This version is soldered rather than installed in a socket like the others. 
BOX = A retail boxed Processor with a standard passive heat sink. 
BOXF = A retail boxed processor with an active (fan-cooled) heat sink. 
* = These chips have no specification number. 

In these tables, the processor Type heading refers to the dual processor capabilities of the 
Pentium. Versions indicated with a Type can only be used as a primary processor, while 
those marked as Type 2 can only be used as the secondary processor in a pair. If the pro- 
cessor is marked as Type 0/2, that means it can serve as either the primary or secondary 
processor or both. 

The Family designation for all Pentiums is "5" (for 586), while the Model indicates the 
particular revision. Model 1 indicates the first generation 60/66 MHz version while 
Model 2 or later indicates the second generation 75+ MHz version. The stepping number 
is the actual revision of the particular model. The family, model, and stepping number 
can be read by software such as the Intel CPUID program. These also correspond to a 
particular Manufacturer Stepping code, which is how Intel designates the chips in-house. 
These are usually an alphanumeric code. For example, stepping 5 of the Model 2 
Pentium is also known as the C2 stepping inside Intel. 

Manufacturing stepping codes that begin with an "m" indicate a Mobile processor, or 
one that is designed for laptop or portable systems. These often come in a Tape Carrier 
Package (TCP), which is a sort of filmstrip package where the raw chip is actually taped 
and soldered directly to the circuit board. Most Pentium processors come in a standard 
Ceramic Pin Grid Array (CPGA) package; however, the mobile processors also use the 
Tape Carrier Package (TCP), and now there is also a Plastic Pin Grid Array (PPGA) pack- 
age being used to reduce cost. 

The specification number is a code that is stamped or printed on the top and often bot- 
tom of the chip. This code is the only way externally that you can tell exactly which 
chip you have. In most systems, there will be a heat sink on the chip that will have to be 
removed to see the markings on the top; however, most Pentium processors are now 
marked on the bottom as well. If you cannot easily remove the heat sink, flip the chip 
over because the specification code may be printed on the bottom, as well. 

One interesting item to note is that there are several subtly different voltages required by 
different Pentium processors. The following table summarizes the different processors 
and their required voltages: 



Model 


Stepping 


Voltage Specs. 


Voltage Range 


1 


- 


Std. 


4.75-5. 25v 


1 


- 


5vl 


4.90-5.25v 


1 


- 


5v2 


4.90-5.40v 


1 


- 


5v3 


5.15-5.40v 


2+ 


B1-B5 


Std. 


3.135-3.465v 


2+ 


C2+ 


Std. 


3.135-3.600v 



Processor Tests 231 

Model Stepping Voltage Specs. Voltage Range 



2+ 


- 


VR 


3.300-3.465v 


2+ 


B1-B5 


VRE 


3.45-3. 60v 


2+ 


C2+ 


VRE 


3.40-3.60v 



Many of the newer Pentium motherboards have jumpers that allow for adjustments to 
the different voltage ranges. If you are having problems with a particular processor, it 
may not be matched correctly to your motherboard voltage output. 

Many of the Mobile Pentium processors use VRT, which means that they draw the stan- 
dard 3.3v from the motherboard, but internally they operate on only 2.9 volts. Because 
the core of the CPU is operating on this lower voltage, it dramatically reduces overall 
power consumption and heat production, which is ideal for portable or notebook sys- 
tems where battery life is important. In addition to VRT, some of the Mobile Pentium 
processors are now designed to run on 3.1v from the system instead of the standard 3.3v. 

If I were purchasing a Pentium system today, I would recommend using only Model 2 
(second generation) or later version processors that are available in 75 MHz or faster 
speeds, and I would definitely want stepping C2 or later. Virtually all of the important 
bugs and problems were fixed in the C2 and later releases. 

Other Processor Problems 

Some other problems with processors and math coprocessors are worth noting. 

After you remove a math coprocessor from an AT-type system, you must rerun your 



tf 



n 

o 



computer's SETUP program. Some AT-compatible SETUP programs do not properly unset 
the math-coprocessor bit. If you receive a Power-On Self Test (POST) error message be- 
cause the computer cannot find the math chip, you may have to unplug the battery ^ 
from the system board temporarily. All SETUP information will be lost, so be sure to 2. 
write down the hard drive type, floppy drive type, and memory and video configurations 
before unplugging the battery. This information is critical in reconfiguring your com- 
puter correctly. 

Another strange problem occurs in some IBM PS/2 Model 80 systems when a 387DX is 
installed. In the following computers, you may hear crackling or beeping noises from the 
speaker while the computer is running: 

■ 8580 Model 111, with serial numbers below 6019000 

■ 8850 Model 311, with serial numbers below 6502022 

If you are experiencing this problem, contact IBM for a motherboard replacement. 

Heat and Cooling Problems 

Heat can be a problem in any high-performance 486, Pentium, or Pentium Pro system. 
The higher speed processors normally consume more power and generate correspond- 
ingly more heat. If your system is based on any of the 66 MHz or faster processors, you 
must dissipate the extra thermal energy; the fan inside your computer case may not be 
able to handle the load. 



232 Chapter 6 — Microprocessor Types and Specifications 

To cool a system in which processor heat is a problem, you can buy (for less than $5 in 
most cases) a special attachment for the CPU chip called a heat sink. Many applications 
may need only a larger standard heat sink with additional or longer fins for a larger cool- 
ing area. Several heat sink manufacturers are listed in the vendor list. 

Heat sinks come in two basic types: passive and active. The passive type is a simple 
finned radiator, while the active type includes a small fan. The active designs require 
power to run the fan, which is normally supplied via a spare disk drive power connector 
from the power supply. 

There are several ways to attach a heat sink to the processor, including clip-on or by 
using glue or adhesive tape. I prefer clip-on heat sinks, but some are attached with a 
special adhesive. In many cases, you need to use a thermal transfer paste if the heat sink 
is clipped on. This paste fills any small air gaps between the processor and the heat sink, 
providing a more effective transfer of heat. 

Most of the OverDrive processors that Intel will be introducing over the next few years 
will have a built-in active heat sink, which includes a fan. Unlike the aftermarket add-on 
fans, these built-in fans will draw power directly from the processor itself and will not 
require additional connections. In addition, these processors are able to detect if the fan 
fails, and will reduce the clock speed of the processor to prevent overheating in the case 
of a fan failure. 

Aftermarket fan type (active) heat sinks are available for high speed processors; however, 
if these fail, the processor will quickly overheat. Often the fans used in these heat sinks 
are cheap sleeve-bearing fans that are designed for an operating life of just about one 
year. When the bearings finally dry out, the fan will make noise and eventually seize up, 
causing the processor to overheat and the system to crash. If you must use a processor 
fan, make sure it is a high-quality unit that uses a long life ball bearing fan. PC Power 
and Cooling supplies high-quality active heat sinks of this type. 

For monitoring the fan operation on a mission critical system, a company called Practical 
Enhanced Logic (see the vendor list) markets a product called Systo Tek, which is 
plugged in line between the fan and power supply, and emits an alarm signal in case the 
fan fails. This alerts you to turn off the system to prevent the processor from overheat- 
ing, which causes the system to lock up (losing any unsaved data and possibly corrupting 
files). If the processor overheats severely, it may even be permanently damaged or even 
damage other components on the motherboard. 



Summary 



This chapter covered what many people consider to be the primary component of a per- 
sonal computer: the processor. Sometimes also called the Central Processing Unit (CPU) 
chip, this is the primary chip in the system. The chapter discussed the variety of proces- 
sors that are available for PC-compatible systems, including those made by Intel and 
other vendors. You now should have a much better appreciation of this component, 
including general functionality and especially how the different processors compare. 



Chapter 7 

Memory 



This chapter looks at memory from both a physical and logical point of view. The chap- 
ter discusses the physical chips and SIMMs (Single Inline Memory Modules) that you can 
purchase and install. The chapter also looks at the logical layout of memory and defines 
the different areas and uses of these areas from the system's point of view. Because the 
logical layout and uses are within the "mind" of the processor, memory remains as per- 
haps the most difficult subject to grasp in the entire PC universe. This chapter contains 
much useful information that removes the mysteries associated with memory and en- 
ables you to get the most out of your system. vf 

VI 

I* 

(6 

The System Logical Memory Layout g 

The original PC had a total of 1M of addressable memory, and the top 384K of that was J. 

reserved for use by the system. Placing this reserved space at the top (between 640K and O 

1024K instead of at the bottom, between OK and 640K) led to what today is often called 
the conventional memory barrier. The constant pressures on system and peripheral manu- J* 

facturers to maintain compatibility by never breaking from the original memory scheme 
of the first PC has resulted in a system memory structure that is (to put it kindly) a mess. 
More than a decade after the first PC was introduced, even the newest Pentium Pro-based 
systems are limited in many important ways by the memory map of the first PCs. 

Someone who wants to become knowledgeable about personal computers must at one 
time or another come to terms with the types of memory installed on their system — the 
small and large pieces of different kinds of memory, some accessible by software applica- 
tion programs, and some not. The following sections detail the different kinds of 
memory installed on a modern PC. The kinds of memory covered in the following sec- 
tions include the following: 

■ Conventional (Base) memory 

■ Upper Memory Area (UMA) 

■ High Memory Area (HMA) 

■ Extended Memory Specification (XMS) 



234 Chapter 7 — Memory 



■ Expanded memory (obsolete) 

■ Video RAM memory (part of UMA) 

■ Adapter ROM and Special Purpose RAM (part of UMA) 

■ Motherboard ROM BIOS (part of UMA) 

Subsequent sections also cover preventing memory conflicts and overlap, using memory 
managers to optimize your system's memory, and making better use of memory. In an 
AT system, the memory map extends beyond the 1M boundary and can continue to 16M 
on a system based on the 286 or higher processor, or as much as 4G (4,096M) on a 
386DX or higher. Any memory past 1M is called extended memory. 

Figure 7.1 shows the logical address locations for a PC-compatible system. If the proces- 
sor is running in Real Mode, only the first megabyte is accessible. If the processor is in 
Protected Mode, the full 16 or 4,096M are accessible. Each symbol is equal to IK of 
memory; each line or segment is 64K; this map shows the first 2M of system memory. 



To save space, this map is ended after the end of the second megabyte. In reality, this map contin- 
ues to the maximum of 1 6M or 4,096M of addressable memory. 



Conventional (Base) Memory 

The original PC/XT-type system was designed to use 1M of memory workspace, some- 
times called RAM (Random-Access Memory). This 1M of RAM is divided into several 
sections, some of which have special uses. DOS can read and write to the entire mega- 
byte, but can manage the loading of programs only in the portion of RAM space called 
conventional memory, which at the time the first PC was introduced was 512K. The other 
512K was reserved for use by the system itself, including the motherboard and adapter 
boards plugged into the system slots. 

IBM decided after introducing the system that only 384K was needed for these reserved 
uses, and the company began marketing PCs with 640K of user memory. Thus, 640K 
became the standard for memory that can be used by DOS for running programs and is 
often termed the 640K memory barrier. The remaining memory after 640K was indicated 
as reserved for use by the graphics boards, other adapters, and the motherboard ROM 
BIOS. 

Upper Memory Area (UMA) 

The term Upper Memory Area (UMA) describes the reserved 384K at the top of the first 
megabyte of system memory on a PC/XT and the first megabyte on an AT-type system. 
This memory has the addresses from AOOOO-FFFFF. 



The System Logical Memory Layout 



235 



. = Program-accessible memory (standard RAM) 

G = Graphics Mode Video RAM 

M = Monochrome Text Mode Video RAM 

C = Color Text Mode Video RAM 

V = Video ROM BIOS (would be "a" in PS/2) 

a = Adapter board ROM and special-purpose RAM (free UMA space) 

r = Additional PS/2 Motherboard ROM BIOS (free UMA in non-PS/2 systems) 

R = Motherboard ROM BIOS 

b = IBM Cassette BASIC ROM (would be "R" in IBM compatibles) 

h = High Memory Area (HMA), if HIMEM.SYS is loaded. 

Conventional (Base) Memory: 



000000 
010000 
020000 

030000 

040000 

050000 
060000 

070000 

080000 

090000 



0- 



-1 



Upper Memory Area (UMA) : 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 

0___1___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 

RRRRRRRRRRRRRRRRRRRRRRRRbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbRRRRRRRR 



Extended Memory: 

: 0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

100000: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh 

Extended Memory Specification (XMS) Memory: 

110000 
120000 

130000 

140000 
150000 
160000 

170000 

180000 

190000 
1A0000 
1B0000 
1C0000 
1D0000 
1E0000 
1F0000 



VI 

I* 
lb 

3 

r\ 

o 

3 

•a 
o 

3 
lb 

3 



Figure 7.1 

The logical memory map of the first 2M. 



236 Chapter 7 — Memory 



The way the 384K of upper memory is used breaks down as follows: 

■ The first 128K after conventional memory is called Video RAM. It is reserved for use 
by video adapters. When text and graphics are displayed on-screen, the electronic 
impulses that contain their images reside in this space. Video RAM is allotted the 
address range from AOOOO-BFFFF. 

■ The next 128K is reserved for the adapter BIOS that resides in read-only memory 
chips on some adapter boards plugged into the bus slots. Most VGA-compatible 
video adapters use the first 32K of this area for their on-board BIOS. The rest can be 
used by any other adapters installed. Many network adapters also use this area for 
special purpose RAM called Shared Memory. Adapter ROM and special purpose RAM 
is allotted the address range from COOOO-DFFFF. 

■ The last 128K of memory is reserved for motherboard BIOS, (the basic input-output 
system, which is stored in read-only RAM chips or ROM). The POST (Power-On Self 
Test) and bootstrap loader, which handles your system at bootup until DOS takes 
over, also reside in this space. Most systems only use the last 64K (or less) of this 
space, leaving the first 64K or more free for remapping with memory managers. 
Some systems also include the CMOS Setup program in this area. The motherboard 
BIOS is allotted the address range from EOOOO-FFFFF. 

Not all the 384K of reserved memory is fully used on most AT-type systems. For example, 
according to IBM's definition of the PC standard, reserved video RAM begins at address 
A0000, which is right at the 640K boundary. Normally this is used for VGA graphics 
modes, while the monochrome and color text modes use B0000-B7FFF and B8000-BFFFF 
respectively. Older non-VGA adapters only used memory in the B0000 segment. Differ- 
ent video adapters use varying amounts of RAM for their operations depending mainly 
on the mode they are in; however, to the processor, it always appears as the same 128K 
area no matter how much RAM is really on the video card. This is managed by bank 
switching areas of memory on the card in and out of the AOOOO-BFFFF segments. 

Although the top 384K of the first megabyte was originally termed reserved memory, it is 
possible to use previously unused regions of this memory to load device drivers (like 
ANSI. SYS) and memory-resident programs (like MOUSE.COM), which frees up the con- 
ventional memory they would otherwise require. The amount of free UMA space varies 
from system to system depending on the adapter cards installed on the system. For ex- 
ample, most SCSI adapters and network adapters require some of this area for built-in 
ROMs or special-purpose RAM use. 

Segment Addresses and Linear Addresses. One thing that can be confusing is the 
difference between a segment address and a full linear address. The use of segmented ad- 
dress numbers comes from the internal structure of the Intel processors. They use a sepa- 
rate register for the segment information and another for the offset. The concept is very 
simple. For example, assume that I am staying in a hotel room, and somebody asks for 
my room number. The hotel has 10 floors, numbered from zero through nine; each floor 
has 100 rooms, numbered from 00 to 99. A segment is defined as any group of 100 rooms 
starting at a multiple of 10, and indicated by a two-digit number. For example, a segment 



The System Logical Memory Layout 237 

address of 54 would indicate the actual room 540, and you could have an offset of from 
00 to 99 rooms from there. 

Thus in this hotel example, each segment is specified as a two-digit number from 00 to 
99, and an offset can be specified from any segment start with a number from 00 to 99 as 
well. 

As an example, let's say I am staying in room 541. If the person needs this information 
in segmentoffset form, and each number is two digits, I could say that I am staying at a 
room segment starting address of 54 (room 540), and an offset of 01 from the start of 
that segment. I could also say that I am in room segment 50 (room 500), and an offset of 
41. You could even come up with other answers, such as that I am at segment 45 (room 
450) offset 91 (450+91=541). Here is an example of how this adds up: 

Segment 54 50 45 

Offset 01 41 91 



Total 541 541 541 

As you can see, although the particular segment and offset are different, they all add up 
to the same room address. In the Intel x86 processors, a similar scheme is used where a 
segment and offset are added internally to produce the actual address. It can be some- 
what confusing, especially if you are writing assembly language or machine language w» 

software! & 

a 

This is exactly how segmented memory in an Intel processor works. Notice that the seg- * 

ment and offset numbers essentially overlap on all digits except the first and last. By q 

adding them together with the proper alignment, you can see the linear address total. 

Q 

A linear address is one without segmentoffset boundaries, such as saying room 541. It is a a 

single number and not comprised of two numbers added together. For example, a SCSI a 

host adapter might have 16K ROM on the card addressed from D4000 to D7FFF. These "> 

numbers expressed in segmentroffset form are D400:0000 to D700:0FFF. The segment 
portion is composed of the most significant four digits, and the offset portion is com- 
posed of the least significant four digits. Because each portion overlaps by one digit, the 
ending address of its ROM can be expressed in four different ways, as follows: 

D000:7FFF = D000 segment 
+ 7FFF offset 



= D7FFF total 

D700:0FFF = D700 segment 
+ 0FFF offset 



= D7FFF total 

D7F0:00FF = D7F0 segment 
+ 00FF offset 




D7FFF total 



238 Chapter 7 — Memory 



D7FF:000F = D7FF segment 
+ 000F offset 



= D7FFF total 

As you can see in each case, although the segment and offset differ slightly, the total 
ends up being the same. Adding together the segment and offset numbers makes possible 
even more combinations, as in the following examples: 

D500:2FFF = D500 segment 
+ 2FFF offset 



= D7FFF total 

D6EE:111F = D6EE segment 
+ 111F offset 



= D7FFF total 

As you can see, several combinations are possible. The correct and generally accepted 
way to write this address as a linear address is D7FFF, whereas most would write the 
segmentoffset address as D000:7FFF. Keeping the segment mostly zeros makes the 
segmentoffset relationship easier to understand and the number easier to comprehend. 
If you understand the segmentoffset relationship to the linear address, you now know 
why when a linear address number is discussed it is five digits, whereas a segment num- 
ber is only four digits. 

Video RAM Memory. A video adapter installed in your system uses some of your 
system's memory to hold graphics or character information for display. Some adapters, 
like the VGA, also have on-board BIOS mapped into the system's space reserved for such 
types of adapters. Generally, the higher the resolution and color capabilities of the video 
adapter, the more system memory the video adapter uses. It is important to note that 
most VGA or Super VGA adapters have additional on-board memory used to handle the 
information currently displayed on-screen and to speed screen refresh. 

In the standard system-memory map, a total of 128K is reserved for use by the video card 
to store currently displayed information. The reserved video memory is located in seg- 
ments A000 and B000. The video adapter ROM uses additional upper memory space in 
segment C000. 

The location of video adapter RAM is responsible for the 640K DOS conventional 
memory barrier. DOS can use all available contiguous memory in the first megabyte — 
which means all — of memory until the video adapter RAM is encountered. The use of 
adapters such as the MDA and CGA allows DOS access to more than 640K of system 
memory; the video memory wall begins at A0000 for the EGA, MCGA, and VGA systems, 
but the MDA and CGA do not use as much video RAM, which leaves some space that can 
be used by DOS and programs. The previous segment and offset examples show that the 
MDA adapter enables DOS to use an additional 64K of memory (all of segment A000), 
bringing the total for DOS program space to 704K. Similarly, the CGA enables a total of 



The System Logical Memory Layout 



239 



736K of possible contiguous memory. The EGA, VGA, or MCGA is limited to the normal 
maximum of 640K of contiguous memory because of the larger amount used by video 
RAM. The maximum DOS-program memory workspace therefore depends on which 
video adapter is installed. Table 7.1 shows the maximum amount of memory available to 
DOS using the referenced video card. 



Table 7.1 DOS Memory Limitations Based on Video Adapter Type 



Video Adapter Type 



Maximum DOS Memory 



Monochrome Display Adapter (M DA) 704K 

Color Graphics Adapter (CCA) 736K 

Enhanced Graphics Adapter (EGA) 640K 

Video Graphics Array (VGA) 640K 

Super VGA (SVGA) 640K 

extended Graphics Array (XGA) 640K 



Using this memory to 736K might be possible depending on the video adapter, the types 
of memory boards installed, ROM programs on the motherboard, and the type of system. 
You can use some of this memory if your system has a 386 or higher processor. With 
memory manager software, such as EMM386 that comes with DOS, that can operate the 
386+ Memory Management Unit (MMU), you can remap extended memory into this 
space. 

The following sections examine how standard video adapters use the system's memory. 
Figures show where in a system the monochrome, EGA, VGA, and IBM PS/2 adapters use 
memory. This map is important because it may be possible to recognize some of this as 
unused in some systems, which may free up more space for software drivers to be loaded. 

Monochrome Display Adapter Memory (MDA). Figure 7.2 shows where the origi- 
nal Monochrome Display Adapter (MDA) uses the system's memory. This adapter uses 
only a 4K portion of the reserved video RAM from BOOOO-BOFFF. Because the ROM code 
used to operate this adapter is actually a portion of the motherboard ROM, no additional 
ROM space is used in segment C000. 




ft 

3 

r> 

o 

3 

•a 
o 

3 

» 

3 



. = Empty Addresses 

M = Original Monochrome Adapter RAM 

m = Additional Memory used in VGA Monochrome Text Mode 



0A0000: 
0B0000: 



0..-1...2---3---4---5---6---7---8 

MMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmm. 



-B- 



Figure 7.2 

The Monochrome Display Adapter memory map. 



240 Chapter 7 — Memory 



Notice that although the original MDA only used 4K of memory starting at B0000, a 
VGA adapter running in Monochrome emulation mode (Mono Text Mode) activates 32K 
of RAM at this address. A true MDA has no on-board BIOS, and instead is operated by 
driver programs found in the primary motherboard BIOS. 

Color Graphics Adapter (CGA) Memory. Figure 7.3 shows where the Color Graphics 
Adapter (CGA) uses the system's memory. The CGA uses a 16K portion of the reserved 
video RAM from B8000-BBFFF. Because the ROM code used to operate this adapter is a 
portion of the motherboard ROM, no additional ROM space is used in segment C000. 



. = Empty Addresses 

C = Original Color Graphics Adapter (CGA) RAM 

c = Additional Memory used in VGA Color Text Mode 

: 0...1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

0A0000 : 

0B0000: CCCCCCCCCCCCCCCCcccccccccccccccc 



Figure 7.3 

The Color Graphics Adapter (CGA) memory map. 

The CGA card leaves memory from A0000-B7FFF free, which can be used by memory 
managers for additional DOS memory space. However, this precludes using any graphics 
mode software such as Windows. The original CGA card only used 16K of space starting 
at B8000, whereas a VGA adapter running in CGA emulation (Color Text) mode can 
activate 32K of RAM at this address. The original CGA card has no on-board BIOS and is 
instead operated by driver programs found in the primary motherboard BIOS. 

Enhanced Graphics Adapter (EGA) Memory. Figure 7.4 shows where the Enhanced 
Graphics Adapter (EGA) uses the system's memory. This adapter uses all 128K of the 
video RAM from A0000-BFFFF. The ROM code used to operate this adapter is on the 
adapter itself and consumes 16K of memory from C0000-C3FFF. 

The original IBM EGA card only used 16K ROM at C0000. Aftermarket compatible EGA 
adapters can use additional ROM space up to 32K total. The most interesting thing to 
note about EGA (and this applies to VGA adapters as well) is that segments A000 and 
B000 are not all used at all times. For example, if the card is in a graphics mode, only 
segment A000 would appear to have RAM installed, whereas segment B000 would appear 
completely empty. If you switched the mode of the adapter (through software) into 
Color Text mode, segment A000 would instantly appear empty, and the last half of seg- 
ment B000 would suddenly "blink on!" The monochrome text mode RAM area would 
practically never be used on a modern system, because little or no software would ever 
need to switch the adapter into that mode. Figure 7.4 also shows the standard 
motherboard ROM BIOS as well so that you can get a picture of the entire UMA. 

The EGA card became somewhat popular after it appeared, but this was quickly over- 
shadowed by the VGA card that followed. Most of the VGA characteristics with regard to 
memory are the same as the EGA because the VGA is backward compatible with EGA. 



The System Logical Memory Layout 



241 



. = Empty Addresses 

G = Enhanced Graphics Adapter (EGA) Graphics Mode Video RAM 

M = EGA Monochrome Text Mode Video RAM 

C = EGA Color Text Mode Video RAM 

V = Standard EGA Video ROM BIOS 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0___1___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
VVVVVVVVVVVVVVVV 

0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



Figure 7.4 

The Enhanced Graphics Adapter (EGA) memory map. 

Video Graphics Array (VGA) Memory. All Video Graphics Array (VGA) compatible 
cards, including Super VGA cards, are almost identical to the EGA in terms of memory 
use. Just as with the EGA, they use all 128K of the video RAM from AOOOO-BFFFF, but not 
all at once. Again the video RAM area is split into three distinct regions, and each of 
these regions is used only when the adapter is in the corresponding mode. One minor 
difference with the EGA cards is that virtually all VGA cards use the full 32K allotted to 
them for on-board ROM (C0000 to C7FFF). Figure 7.5 shows the VGA adapter memory 
map. 




. = Empty Addresses 

G = Video Graphics Array (VGA) Adapter Graphics Mode Video RAM 

M = VGA Monochrome Text Mode Video RAM 

C = VGA Color Text Mode Video RAM 

V = Standard VGA Video ROM BIOS 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 

0.__1___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



if 
(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



Figure 7.5 

The VGA (and Super VGA) adapter memory map. 

You can see that the typical VGA card uses a full 32K of space for the on-board ROM 
containing driver code. Some VGA cards may use slightly less, but this is rare. Just as 



242 Chapter 7 — Memory 



with the EGA card, the video RAM areas are only active when the adapter is in the par- 
ticular mode designated. In other words, when a VGA adapter is in graphics mode, only 
segment A000 is used; and when it is in color text mode, only the last half of segment 
B000 is used. Because the VGA adapter is almost never run in monochrome text mode, 
the first half of segment B000 remains unused (B0000-B7FFF). Figure 7.5 also shows the 
standard motherboard ROM BIOS so that you can get a picture of how the entire UMA is 
laid out with this adapter. 

IBM created VGA, and the first systems to include VGA adapters were the PS/2 systems 
introduced in April 1987. These systems had the VGA adapter built directly into the 
motherboard. Because IBM had written both the video and motherboard BIOS, and they 
were building the VGA on the motherboard and not as a separate card, they incorporated 
the VGA BIOS driver code directly into the motherboard BIOS. This meant that segment 
C000 did not have an on-board video ROM as in most of the compatibles that would 
follow. Although this may sound like a bonus for the PS/2 systems — they still had the 
additional ROM code — it was merely located in segment E000 instead! In fact the PS/2 
systems used all of segment E000 for additional motherboard ROM BIOS code, whereas 
segment E000 remains empty in most compatibles. 

Many compatibles today have their video adapter built into the motherboard. Systems 
that use the LPX (Low Profile) motherboard design in an LPX- or Slimline-type case in- 
corporate the video adapter into the motherboard. In these systems, even though the 
video BIOS and motherboard BIOS may be from the same manufacturer, they are always 
set up to emulate a standard VGA-type adapter card. In other words, the video BIOS 
appears in the first 32K of segment C000 just as if a stand-alone VGA-type card were 
plugged into a slot. The built-in video circuit in these systems can be easily disabled via a 
switch or jumper, which then allows a conventional VGA-type card to be plugged in. By 
having the built-in VGA act exactly as if it were a separate card, disabling it allows a new 
adapter to be installed with no compatibility problems that might arise if the video driv- 
ers had been incorporated into the motherboard BIOS. 

When the VGA first appeared on the scene, it was built into the PS/2 motherboard. So 
that you could add VGA to other systems, IBM also introduced at that time the very first 
VGA card. It was called the PS/2 Display Adapter, which was somewhat confusing at the 
time because it was designed for standard ISA bus-compatible systems and not for the 
PS/2s, which mostly used the new Micro Channel Architecture bus and already had VGA 
built in. Nevertheless, this card was sold to anybody who wanted to add VGA to their ISA 
bus system. The IBM VGA card (PS/2 Display Adapter) was an 8-bit ISA card that had the 
same IBM-designed video chip and circuits as were used on the PS/2 motherboard. 

If you were involved with the PC industry at that time, you might remember how long it 
took for clone video card manufacturers to accurately copy the IBM VGA circuits. It took 
nearly two years (almost to 1989) before you could buy an aftermarket VGA card and 
expect it to run everything an IBM VGA system would with no problems. Some of my 
associates who bought some of the early cards inadvertently became members of the 
video card manufacturer's "ROM of the Week" club! They were constantly finding prob- 
lems with the operation of these cards, and many updated and patched ROMs were sent 
to try and fix the problems. Not wanting to pay for the privilege of beta testing the latest 



The System Logical Memory Layout 243 

attempts at VGA compatibility, I bit the bullet and took the easy way out. I simply 
bought the IBM VGA card (PS/2 Display Adapter). At that time, the card listed for $595, 
but I could usually expect a 30 percent discount in purchasing it at the local computer 
store. That is still about as much as you would pay for the best Local Bus Super VGA 
cards on the market today. In fact, you can now buy basic VGA clone cards for less than 
$20 that are actually faster and better than the original IBM VGA card! 

I remember well, purchasing the IBM VGA card not only because it was so expensive, but 
also because the card actually proved somewhat difficult to purchase! When I arrived to 
buy it at my local IBM authorized retailer (after first calling to see if it had one in stock), 
I asked for it by name. I said, "I am here to purchase an IBM PS/2 Display Adapter." The 
salesman asked what type of system I was going to install it in. I replied that I was going 
to put it in the AT clone I had assembled. Then I met resistance! The salesman told me 
that I could not use that in my clone because it was designed for PS/2 systems only. I 
told him he was mistaken and that the card is in fact designed for any IBM-compatible 
system with an ISA bus, and is supposed to give the system the same graphics capability 
of the new PS/2s. The salesman maintained that the card was only for PS/2 systems, and 
I finally had to say, "Look, I have cash, will you sell me the card or not?" Lo and behold I 
emerged from the store victorious, with the card in hand! 

Although the card worked very well, and although I never did find any compatibility 

problems, I did later run into some interesting problems with the memory use of this 

card. This was my first introduction to what I call scratch pad memory use by an adapter. I 

found that many different types of adapters may use some areas in the UMA for mapping 

scratch pad memory. This refers to memory on the card that stores status information, o 

configuration data, or any other temporary type information of a variable nature. Most 

cards keep this scratch pad memory to themselves and do not attempt to map it into the 

processor's address space, but some cards do place this type of memory in the address n 

space so that the driver programs for the card can use it. Figure 7.6 shows the memory 

map of the IBM PS/2 Display Adapter (IBM's VGA card). 

There is nothing different about this VGA card and any other with respect to the Video 
RAM area. What is different is that the ROM code that operates this adapter only con- 
sumes 24K of memory from C0000-C5FFF. Also strange is the 2K "hole" at C6000, and 
the 6K of scratch pad memory starting at C6800, as well as the additional 2K of scratch 
pad memory at CA000. In particular, the 2K "straggler" area really caught me off guard 
when I installed a SCSI host adapter in this system that had a 16K on-board BIOS with a 
default starting address of C8000. I immediately ran into a conflict that completely dis- 
abled the system. In fact, it would not boot, had no display at all, and could only beep 
out error codes that indicated that the video card had failed. I first thought that I had 
somehow "fried" the card, but removing the new SCSI adapter had everything function- 
ing normally. I also could get the system to work with the SCSI adapter and an old CGA 
card substituting for the VGA, so I immediately knew a conflict was underfoot. This 
scratch pad memory use was not documented clearly in the technical-reference informa- 
tion for the adapter, so it was something that I had to find out by trial and error. If you 
have ever had the IBM VGA card and had conflicts with other adapters, now you know 
why! Needless to say, nothing could be done about this 2K of scratch pad memory 




*5 



3 



244 



Chapter 7 — Memory 



hanging out there, and I had to work around it as long as I had this card in the system. I 
solved my SCSI adapter problem by merely moving the SCSI adapter BIOS to a different 
address. 



. = Empty Addresses 

G = Video Graphics Array (VGA) Adapter Graphics Mode Video RAM 

M = VGA Monochrome Text Mode Video RAM 

C = VGA Color Text Mode Video RAM 

V = IBM VGA Video ROM BIOS 

v = IBM VGA Scratch Pad memory (used by the card) 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
VVVVVVVVVVVVVVVVVVVVVVVV . . vvvvvv vv 

B---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



Figure 7.6 

IBM's somewhat strange ISA-bus VGA card (PS/2 Display Adapter) memory map. 

As a side note, I have seen other VGA-type video adapters use scratch pad memory, but 
they have all kept it within the C0000-C7FFF 32K region allotted normally for the video 
ROM BIOS. By using a 24K BIOS, I have seen other cards with up to 8K of scratch pad 
area, but none — except for IBM's — in which the scratch pad memory goes beyond 
C8000. 

As you can see in the preceding figures, each type of video adapter on the market uses 
two types of memory: video RAM, which stores the display information; and ROM code, 
which controls the adapter; each must exist somewhere in the system's memory. The 
ROM code built into the motherboard ROM on standard PC and AT systems controls 
adapters such as the MDA and CGA. All the EGA and VGA adapters for the PC and AT 
systems use the full 128K of video RAM (not all at once, of course) and up to 32K of 
ROM space at the beginning of segment C000. IBM's technical-reference manuals say 
that the memory between C0000 and C7FFF is reserved specifically for ROM on video 
adapter boards. Note that the VGA and MCGA built into the motherboards of the PS/2 
systems have the ROM-control software built into the motherboard ROM in segments 
E000 and F000 and require no other code space in segment C000. Also note that you can 
often use your memory manager software (such as what comes with DOS) to map ex- 
tended memory into the monochrome display area (32K worth), which can get you 
an extra 32K region for loading drivers and resident programs. 

Adapter ROM and Special Purpose RAM Memory. The second 128K of upper memory 
beginning at segment C000 is reserved for the software programs, or BIOS (basic input- 
output system), on the adapter boards plugged into the system slots. These BIOS pro- 
grams are stored on special chips known as read-only memory (ROM), which have fused 



The System Logical Memory Layout 



245 



circuits so that the PC cannot alter them. ROM is useful for permanent programs that 
always must be present while the system is running. Graphics boards, hard disk control- 
lers, communications boards, and expanded memory boards, for example, are adapter 
boards that might use some of this memory. 

On systems based on the 386 CPU chip or higher, memory managers like the MS-DOS 
6 MEMMAKER, IBM DOS RAMBOOST, or aftermarket programs like QEMM by 
Quarterdeck, can load device drivers and memory-resident programs into unused regions 
in the UMA. 

Video Adapter BIOS. Although 128K of upper memory beginning at segment C000 is 
reserved for use by the video adapter BIOS, not all this space is used by various video 
adapters commonly found on PCs. Table 7.2 details the amount of space used by the 
BIOS on each type of common video adapter card. 



Table 7.2 Memory Used by Different Video Cards 



Type of Adapter 



Adapter BIOS Memory Used 



Monochrome Display Adapter (MDA) 
Color Graphics Adapter (CCA) 
Enhanced Graphics Adapter (EGA) 
Video Graphics Array (VGA) 
Super VGA (SVGA) 



None - Drivers in Motherboard BIOS 
None - Drivers in Motherboard BIOS 
16K on-board (C0000-C3FFF) 
32K on-board (C0000-C7FFF) 
32K on-board (C0000-C7FFF) 



Some more advanced graphics accelerator cards on the market do use most or all the 
128K of upper memory beginning at segment C000 to speed the repainting of graphics 
displays in Windows, OS/2, or other graphical user interfaces (GUIs). In addition, these 
graphics cards may contain up to 4M or more of on-board memory in which to store 
currently displayed data and more quickly fetch new screen data as it is sent to the dis- 
play by the CPU. 

Hard Disk Controller and SCSI Host Adapter BIOS. The upper memory addresses 
C0000 to DFFFF also are used for the BIOS contained on many hard drive controllers. Table 
7.3 details the amount of memory and the addresses commonly used by the BIOS con- 
tained on hard drive adapter cards. 




*5 

(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



Table 7.3 Memory Addresses Used by Different Hard Drive Adapter Cards 



Disk Adapter Type 



On-Board BIOS Size BIOS Address Range 



IBM XT 10M Controller 8K 

IBM XT 20M Controller 4K 
Most XT Compatible Controllers 8K 

Most AT Controllers None 

Most IDE Adapters None 

Most ESDI Controllers 1 6K 

Most SCSI Host Adapters 1 6K 



C8000-C9FFF 

C8000-C8FFF 

C8000-C9FFF 

Drivers in Motherboard BIOS 

Drivers in Motherboard BIOS 

C8000-CBFFF 

C8000-CBFFF 



246 



Chapter 7 — Memory 



The hard drive or SCSI adapter card used on a particular system may use a different 
amount of memory, but it is most likely to use the memory segment beginning at C800 
because this address is considered part of the IBM standard for personal computers. Vir- 
tually all the disk controller or SCSI adapters today that have an on-board BIOS allow the 
BIOS starting address to be easily moved in the C000 and D000 segments. The locations 
listed in table 7.3 are only the default addresses that most of these cards use. If the de- 
fault address is already in use by another card, you have to consult the documentation 
for the new card to see how to change the BIOS starting address to avoid any conflicts. 

Figure 1.1 shows an example memory map for an Adaptec AHA-1542CF SCSI adapter. 



. = Empty Addresses 

G = Video Graphics Array (VGA) Adapter Graphics Mode Video RAM 

M = VGA Monochrome Text Mode Video RAM 

C = VGA Color Text Mode Video RAM 

V = Standard VGA Video ROM BIOS 

S = SCSI Host Adapter ROM BIOS 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 

SSSSSSSSSSSSSSSS 

0___1___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 






Figure 7.7 

Adaptec AHA-1542CF SCSI adapter default memory use. 

Notice how this SCSI adapter fits in here. Although no conflicts are in the UMA memory, 
the free regions have been fragmented by the placement of the SCSI BIOS. Because most 
systems do not have any BIOS in segment E000, that remains as a free 64K region. With 
no other adapters using memory, this example shows another free UMB (Upper Memory 
Block) starting at C8000 and continuing through DBFFF, which represents an 80K free 
region. By using the EMM386 driver that comes with DOS, memory can be mapped into 
these two regions for loading memory-resident drivers and programs. Unfortunately, 
because programs cannot be split across regions, the largest program you could load is 
80K, which is the size of the largest free region. It would be much better if you could 
move the SCSI adapter BIOS so that it was next to the VGA BIOS, as this would bring the 
free UMB space to a single region of 144K. It is much easier and more efficient to use a 
single 144K region than two regions of 80K and 64K, respectively. 

Fortunately, it is possible to move this particular SCSI adapter, although doing so re- 
quires that several switches be reset on the card itself. One great thing about this Adaptec 
card is that a sticker is placed directly on the card detailing all the switch settings! This 
means that you don't have to go hunting for a manual that may not be nearby. More 
adapter card manufacturers should place this information right on the card. 



The System Logical Memory Layout 



247 



After changing the appropriate switches to move the SCSI adapter BIOS to start at C8000, 
the optimized map would look like figure 7.8. 



. = Empty Addresses 

G = Video Graphics Array (VGA) Adapter Graphics Mode Video RAM 

M = VGA Monochrome Text Mode Video RAM 

C = VGA Color Text Mode Video RAM 

V = Standard VGA Video ROM BIOS 

S = SCSI Host Adapter ROM BIOS 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0___1___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVSSSSSSSSSSSSSSSS 

0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



Figure 7.8 

Adaptec AHA-1542CF SCSI adapter with optimized memory use. 

Notice how the free space is now a single contiguous block of 144K. This represents a far 
more optimum setup than the default settings. 

Network Adapters. Network adapter cards also can use upper memory in segments 
C000 and D000. The exact amount of memory used and the starting address for each 
network card varies with the type and manufacturer of the card. Some network cards do 
not use any memory at all. A network card might have two primary uses for memory: 

■ IPL (Initial Program Load or Boot) ROM 

■ Shared Memory (RAM) 




*5 
» 
3 

r> 

o 

3 

•a 
o 

3 

ft 

3 



An IPL ROM is usually an 8K ROM that contains a bootstrap loader program that enables 
the system to boot directly from a file server on the network. This allows the removal of 
all disk drives from the PC, creating a diskless workstation. Because no floppy or hard 
disk would be in the system to boot from, the IPL ROM gives the system the instructions 
necessary to locate an image of the operating system on the file server and load it as if it 
were on an internal drive. If you are not using your system as a diskless workstation, it 
would be beneficial to disable any IPL ROM or IPL ROM Socket on the adapter card. 
Notice that many network adapters do not allow this socket to be disabled, which means 
that you lose the 8K of address space for other hardware even if the ROM chip is re- 
moved from the socket! 

Shared memory refers to a small portion of RAM contained on the network card that is 
mapped into the PC's Upper Memory Area. This region is used as a memory window on 
the network and offers very fast data transfer from the network card to the system. 



248 



Chapter 7 — Memory 



IBM pioneered the use of shared memory for its first Token Ring network adapters, and 
now shared memory is in common use among other companies' network adapters. 
Shared memory was first devised by IBM because it found transfers using the DMA chan- 
nels were not fast enough in most systems. This had mainly to do with some quirks in 
the DMA controller and bus design, which especially affected 16-bit ISA bus systems. 
Network adapters that do not use shared memory will either use DMA or Programmed 
I/O (PIO) transfers to move data to and from the network adapter. 

Although shared memory is faster than either DMA or PIO for ISA systems, it does re- 
quire 16K of UMA space to work. Most standard performance network adapters use 
PIO because this makes them easier to configure, and they require no free UMA space, 
whereas most high performance adapters will use shared memory. The shared memory 
region on most network adapters that use one is usually 16K in size and may be located 
at any user-selected 4K increment of memory in segments C000 or D000. 

Figure 7.9 shows the default memory addresses for the IPL ROM and shared memory of 
an IBM Token Ring network adapter, although other network adapters such as Ethernet 
adapters would be similar. 



. = Empty Addresses 

G = Video Graphics Array (VGA) Adapter Graphics Mode Video RAM 

M = VGA Monochrome Text Mode Video RAM 

C = VGA Color Text Mode Video RAM 

V = Standard VGA Video ROM BIOS 

I = Token Ring Network Adapter IPL ROM 

N = Token Ring Network Adapter Shared RAM 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
0.--1-..2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV IIIIIIII 

NNNNNNNNNNNNNNNN 

B---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



Figure 7.9 

Token Ring network adapter default memory map. 

I have also included the standard VGA video BIOS in figure 7.9 because nearly every 
system would have a VGA-type video adapter as well. Note that these default addresses 
for the IPL ROM and the shared memory can easily be changed by reconfiguring the 
adapter. Most other network adapters are similar in that they also would have an IPL 
ROM and a shared memory address, although the sizes of these areas and the default 
addresses may be different. Most network adapters that incorporate an IPL ROM option 
can disable the ROM and socket such that those addresses are not needed at all. This 
helps to conserve UMA space and prevent possible future conflicts if you are never going 
to use the function. 



The System Logical Memory Layout 



249 



Notice in this case that the SCSI adapter used in figure 7.9 would fit both at its default 
BIOS address of DCOOO as well as the optimum address of C8000. The Token Ring shared 
memory location is not optimum and causes the UMB space to be fragmented. By adjust- 
ing the location of the shared memory, this setup can be greatly improved. Figure 7.10 
shows an optimum setup with both the Token Ring adapter and the SCSI adapter in the 
same machine. 

To actually move the RAM usage on any given adapter will require that you consult the 
documentation for the card. Most older cards require that specific switches or jumpers be 
changed, and the settings will probably not be obvious without the manual. Most newer 
cards, especially those that are Plug and Play, allow these settings to be changed by soft- 
ware that either comes with the card itself, or the Configuration Manager program that 
goes with some of the newer operating systems like Windows 95 or OS/2. 



. = Empty Addresses 

G = Video Graphics Array (VGA) Adapter Graphics Mode Video RAM 

M = VGA Monochrome Text Mode Video RAM 

C = VGA Color Text Mode Video RAM 

V = Standard VGA Video ROM BIOS 

S = SCSI Host Adapter ROM BIOS 

I = Token Ring Network Adapter IPL ROM 

N = Token Ring Network Adapter Shared RAM 

R = Standard Motherboard ROM BIOS 



0A0000 

0B0000 

0C0000 
0D0000 

0E0000 
0F0000 



0___1_._2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
8---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
WVVWVVVWWWWVVVWVWWWVWSSSSSSSSSSSSSSSSNNNNNNNNNNNNNNNN 

IIIIIIII 

0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



Figure 7.10 

Adaptec AHA-1542CF SCSI adapter and Network adapter with optimized memory use. 

This configuration allows a single 120K Upper Memory Block (UMB) that can be used 
very efficiently to load software drivers. Notice that the IPL ROM was moved to D0000, 
which places it as the last item installed before the free memory space. This is because if 
the IPL function is not needed, it can be disabled and the UMB space would increase to 
128K and still be contiguous. If the default settings are used for both the SCSI and net- 
work adapters, the UMB memory would be fragmented into three regions of 16K, 40K, 
and 64K, which would function, but is hardly optimum. 

Other ROMs in the Upper Memory Area. In addition to the BIOS for hard drive 
controllers, SCSI adapters, and network cards, upper memory segments C000 and D000 
are used by some terminal emulators, security adapters, memory boards, and various 
other devices and adapter boards. Some adapters may require memory only for BIOS 



250 Chapter 7 — Memory 



information, and others may require RAM in these upper memory segments. For infor- 
mation on a specific adapter, consult the manufacturer's documentation. 

Motherboard BIOS Memory. The last 128K of reserved memory is used by the 
motherboard BIOS (which is usually stored in a ROM chip). The BIOS programs in ROM 
control the system during the boot procedure and remain as drivers for various hardware 
in the system during normal operation. Because these programs must be available imme- 
diately, they cannot be loaded from a device like a disk drive. The main functions of the 
programs stored in the motherboard ROM are as follows: 

■ Power-On Self Test, the POST, is a set of routines that tests the motherboard, 
memory, disk controllers, video adapters, keyboard, and other primary system 
components. This routine is useful when you troubleshoot system failures or 
problems. 

■ The bootstrap loader routine initiates a search for an operating system on a floppy 
disk or hard disk. If an operating system is found, it is loaded into memory and 
given control of the system. 

■ The Basic Input-Output System (BIOS) is the software interface, or master control 
program, to all the hardware in the system. With the BIOS, a program easily can 
access features in the system by calling on a standard BIOS program module in- 
stead of talking directly to the device. 

Both segments E000 and F000 in the memory map are considered reserved for the 
motherboard BIOS, but only some AT-type systems actually use this entire area. PC/XT- 
type systems require only segment F000 and enable adapter card ROM or RAM to use 
segment E000. Most AT systems use all of F000 for the BIOS, and may decode but not use 
any of segment E000. By decoding an area, the AT motherboard essentially grabs control 
of the addresses, which precludes installing any other hardware in this region. In other 
words, it is not possible to install any other adapters to use this area. That is why you will 
find that most adapters that use memory simply do not allow any choices for memory 
use in segment E000. Although this may seem like a waste of 64K of memory space, any 
386 or higher system can use the powerful MMU in the processor to map RAM from 
extended memory into segment E000 as an UMB and subsequently use it for loading 
software. This is a nice solution to what otherwise would be wasted memory. Under 
DOS, the EMM386 driver controls the MMU remapping functions. 

PC/XT System BIOS. Many different ROM-interface programs are in the IBM 

motherboards, but the location of these programs is mostly consistent. The following 
figures show the ROM BIOS memory use in segments E000 and F000. 

Figure 7.11 shows the memory use in an IBM PC and XT with a Type 1 (25 6K) 
motherboard. 



The System Logical Memory Layout 



251 



. = Empty Addresses 

b = IBM ROM (Cassette) BASIC Interpreter 

R = Motherboard ROM BIOS 



0E0000: 
0F0000: 



0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbRRRRRRRR 



Figure 7.11 

Motherboard ROM BIOS memory use in an original IBM PC and XT. 

Figure 7.12 shows the memory use in an XT with a 640K motherboard as well as in the 
PS/2 Model 25 and Model 30. These systems have additional BIOS code compared to the 
original PC and XT. Note that Cassette (also called ROM) BASIC remains in the same 
addresses. 



. = Empty Addresses 

b = IBM ROM (Cassette) BASIC Interpreter 

R = Motherboard ROM BIOS 



0E0000: 
0F0000: 



0.__1___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbRRRRRRRR 



Figure 7.12 

Motherboard ROM BIOS memory use in IBM XT (Type 2) and PS/2 Models 25 and 30. 

Figure 7.13 shows the motherboard ROM BIOS memory use in most PC- or XT- 
compatible systems. These systems lack the Cassette BASIC Interpreter found in IBM's 
BIOS. 



. = Empty Add 
R = Standard 


resses 
XT Mother 


board 


ROM 


BIOS 












: 
0E0000: . 
0F0000: . 


--1 


---2---3 


. .4. . 


-5- 


-6- 


-7- - 


-8---9- 


-A- 


-B-- 


C---D---E-- 


.F--- 














RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 


In compatible 


XT type 


systems, 


the 


BIOS 


length 


may 


vary 


but 32K is 


common. 






3 

r> 

o 

3 

•a 
o 
3 

(6 

3 



Figure 7.13 

Motherboard ROM BIOS memory use in most PC- or XT-compatibles. 



252 



Chapter 7 — Memory 



AT System BIOS. Figure 7.14 shows the motherboard BIOS use in an IBM AT or XT-286 
system. 



. = Empty Addresses 

b = IBM ROM (Cassette) BASIC Interpreter 

R = Motherboard ROM BIOS 



0E0000: 
0F0000: 



0..-1...2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 
RRRRRRRRRRRRRRRRRRRRRRRRbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbRRRRRRRR 



Figure 7.14 

Motherboard ROM BIOS memory use in an IBM AT and XT-286. 

Figure 7.15 shows the motherboard ROM BIOS memory use of most AT-compatible sys- 
tems. These systems lack the IBM Cassette BASIC, but do usually include a built-in Setup 
program. 



. = Empty Addresses 

R = Standard Motherboard ROM BIOS 



0E0000: 
0F0000: 



B---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 



Figure 7.15 

Motherboard ROM BIOS memory use of most AT-compatible systems. 

Note that the standard AT-compatible system BIOS uses only segment F000 (64K). In 
almost every case, the remainder of the BIOS area (segment E000) is completely free and 
can be used as UMB space. 

IBM PS/2 ROM-BIOS. The motherboard BIOS memory use by PS/2 models with a 286 
or higher processor, including ISA and MCA systems, is shown in figure 7.16. This shows 
that PS/2 systems use more of the allocated ROM space for their motherboard ROM 
BIOS. The extra code contains VGA drivers (PS/2 systems have built-in VGA adapters) 
and additional code to run the system in protected mode. 

Note that some of the newest PS/2 systems no longer have the Cassette BASIC interpreter 
in ROM. In those systems, additional BIOS code fills that area. 

PS/2 Models with 286 and higher processors have additional Advanced BIOS code to be 
used when the systems are running protected-mode operating systems such as OS/2. 
Non-PS/2 systems that don't have the Advanced BIOS code can still easily run OS/2, but 
must load the equivalent of the Advanced BIOS software from disk rather than having it 
loaded from ROM. 



The System Logical Memory Layout 253 



. = Empty Addresses 

b = IBM ROM (Cassette) BASIC Interpreter 

R = Motherboard ROM BIOS 

: 0___i___2---3---4---5---6---7---8---9---A---B---C---D---E---F--- 

0E0000: RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 
0F0000: RRRRRRRRRRRRRRRRRRRRRRRRbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbRRRRRRRR 



Figure 7.16 

IBM PS/2 motherboard ROM BIOS memory map. 

Some compatible systems with a SCSI hard disk and host adapter need a special 
protected-mode driver for the adapter to work under OS/2 because the on-board BIOS 
runs only in real mode and not in protected mode. IBM SCSI adapters, however, are 
unique in that they include both real- and protected-mode BIOS software on-board and 
operate hard disks under any operating system with no need for drivers. Again, this is 
not really that much of a bonus or feature because this same type of protected mode 
operating driver code can simply be loaded from disk (boot-up occurs in real mode) dur- 
ing the OS/2 boot process. In fact, many of the Advanced BIOS routines originally in the 
PS/2 BIOS have been enhanced, so that many of the built-in BIOS routines are being 
discarded and superseded by loaded routines anyway. The way things have turned out, t/> 

there is simply no inherent advantage to the Advanced BIOS code in the PS/2 systems. * 

IBM Cassette Basic ROM. The ROM maps of most IBM compatibles equal the IBM 3 

system with which they are compatible — with the exception of the Cassette BASIC por- Q 

tion. This section examines the origins of Cassette BASIC (also called ROM BASIC) and 3 



investigates reasons why you would ever see this in a modern system. A variety of related 
error messages from compatible systems are explored as well. 

It may come as a surprise to some personal computer users, but the original IBM PC actu- 
ally had a jack on the rear of the system for connecting a cassette tape recorder. This was 
to be used for loading programs and data to or from a cassette tape. At the time the PC 
was introduced, the most popular personal computer was the Apple II, which also had 
the cassette tape connection. Tapes were used at the time because floppy drives were very 
costly, and hard disks were not even an option yet. Floppy drives came down in price 
quickly at the time, and the cassette port never appeared on any subsequent IBM sys- 
tems. The cassette port also never appeared on any compatible system. 

The original PC came standard with only 16K of memory in the base configuration. No 
floppy drives were included, so you could not load or save files from disks. Most com- 
puter users at the time would either write their own programs in the BASIC (Beginners 
All-purpose Symbolic Instruction Code) language or run programs written by others. 
Various versions of the BASIC language were available, but the Microsoft version had 
become the most popular. Having a Microsoft BASIC interpreter was essential in the early 
days of personal computing, yet these interpreters would take 32K of memory when 
loaded. That meant you would need 32K of RAM just for the language interpreter and 
additional memory for your program and data. To make the system cheaper and to 



■o 

O 
3 

n 

3 



254 Chapter 7 — Memory 



conserve memory, IBM contacted Microsoft and licensed the MS-BASIC interpreter. It 
then built the BASIC interpreter directly into the motherboard ROM BIOS, where it occu- 
pied the 32K address range F6000-FDFFF. This meant that although the system only 
came with 16K, you could use all 16K for your own programs and data because no addi- 
tional memory was required to run the BASIC language interpreter. To save and load 
programs, this BASIC language was designed to access the cassette port on the back of 
the system. 

If you purchased a floppy drive for your PC system, you would also need DOS (Disk Op- 
erating System) to run it. Because the BASIC built into the ROM on the PC motherboard 
did not have the code required to operate the floppy drive for storing and retrieving files, 
an extension or overlay to the ROM BASIC interpreter was located on the DOS disk. 
Called Advanced BASIC, or BASICA.COM, this program on the DOS disk was actually con- 
structed as an overlay to the ROM BASIC, and would not function independently. Be- 
cause no compatibles ever had ROM BASIC (no compatibles ever had a cassette tape 
recorder port, either), the BASICA extensions found on the IBM DOS disks would not run 
in any compatible. At that time, there was no such thing as a separately available generic 
MS-DOS as there is today. 

Compaq was one of the first to solve this problem. It went to Microsoft and licensed the 
DOS separately from IBM, thus producing its own version called Compaq DOS. On the 
Compaq DOS disks, it included a version of the Microsoft BASIC interpreter called 
GWBASIC.EXE (Graphics Workstation BASIC) that was complete as a stand-alone program. 
In other words, it was not constructed as an overlay for the ROM BASIC (which was ab- 
sent from the Compaq), but was a complete version all by itself. This stand-alone 
GWBASIC version of the MS-BASIC interpreter would run on any system, IBM or com- 
patible, because it did not depend on the existence of the ROM BASIC, as did IBM's 
BASICA program. In some strange way, perhaps the reliance of the IBM BASICA on the 
IBM ROM BASIC was one way to make the IBM PS/2 different from the compatibles. 
Because any compatible vendor could license the complete BASIC interpreter (and DOS 
as well) directly from Microsoft, the IBM ROM BASIC became an unimportant feature. 

What is really strange is that IBM kept this ROM BASIC and BASICA relationship all the 
way through most of the PS/2 systems! The portable 486 PS/2 system (IBM P75 Portable) 
I was using until recently came standard with a built-in SCSI adapter and currently has a 
4GB SCSI drive installed, and yet this system still has the ROM BASIC wasting 32K of 
space! I liken this to humans having an appendix. The ROM BASIC in the IBM systems is 
a sort of vestigial organ — a leftover that had some use in prehistoric ancestors, but that 
has no function today! 

You can catch a glimpse of this ROM BASIC on IBM systems that have it by disabling all 
the disk drives in the system. In that case, with nothing to boot from, most IBM systems 
unceremoniously dump you into the strange (vintage 1981) ROM BASIC screen. When 
this occurs, the message looks like this: 

The IBM Personal Computer Basic 
Version C1.10 Copyright IBM Corp 1981 
62940 Bytes free 



The System Logical Memory Layout 255 



Ok 



Many people used to dread seeing this because it usually meant that your hard disk had 
failed to be recognized! Because no compatible systems ever had the Cassette BASIC in- 
terpreter in ROM, they had to come up with different messages to display for the same 
situations in which an IBM system would invoke this BASIC. Compatibles that have an 
AMI BIOS in fact display a confusing message as follows: 

NO ROM BASIC - SYSTEM HALTED 

This message is a BIOS error message that is displayed by the AMI BIOS when the same 
situations occur that would cause an IBM system to dump into Cassette BASIC, which of 
course is not present in an AMI BIOS (or any other compatible BIOS for that matter). 
Other BIOS versions display different messages. For example, under the same circum- 
stances, a Compaq BIOS displays the following: 

Non-System disk or disk error 
replace and strike any key when ready 

This is somewhat confusing on Compaq's part because this very same (or similar) error 
message is contained in the DOS Boot Sector, and would normally be displayed if the 
system files were missing or corrupted. 

In the same situations that you would see Cassette BASIC on an IBM system, a system 
with an Award BIOS would display the following: 



DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER 

Phoenix BIOS systems will display either: 




*5 

(6 

3 

r> 

o 

3 

No boot device available - O 

strike F1 to retry boot, F2 for setup utility 3 

3 
or £ 

No boot sector on fixed disk - 

strike F1 to retry boot, F2 for setup utility 

The first or second Phoenix message displays depending on exactly which error actually 
occurred. 

Although the message displayed varies from BIOS to BIOS, the cause is the same for all of 
them. Two things that can generally cause any of these messages to be displayed, and 
they both relate to specific bytes in the Master Boot Record, which is the first sector of a 
hard disk at the physical location Cylinder 0, Head 0, Sector 1. 

The first problem relates to a disk that has either never been partitioned or has had the 
Master Boot Sector corrupted. During the boot process, the BIOS checks the last two 
bytes in the Master Boot Record (first sector of the drive) for a "signature" value of 
55AAh. If the last two bytes are not 55AAh, an Interrupt 18h is invoked, which calls the 
subroutine that displays the message you received as well as the others indicated, or on 
an IBM system invokes Cassette (ROM) BASIC itself. 



256 Chapter 7 — Memory 



The Master Boot Sector (including the signature bytes) is written to the hard disk by the 
DOS FDISK program. Immediately after you low level format a hard disk, all the sectors 
are initialized with a pattern of bytes, and the first sector does not contain the 55AAh 
signature. In other words, these ROM error messages are exactly what you see if you 
attempt to boot from a hard disk that has been low-level formatted, but has not yet been 
partitioned. 

Now consider the second situation that can cause these messages, and potentially your 
other problem causing the same message. If the signature bytes are correct, the BIOS 
executes the Master Partition Boot Record code, which performs a test of the Boot Indica- 
tor Bytes in each of the four partition table entries. These bytes are at offset 446 (IBEh), 
462 (ICEh), 478 (IDEh), and 494 (lEEh), respectively. They are used to indicate which of 
the four possible partition table entries contain an active (bootable) partition. A value of 
80h in any of these byte offsets indicates that table contains the active partition, whereas 
all other values must be OOh. If more than one of these bytes is 80h (indicating multiple 
active partitions), or any of the byte values is anything other than 80h or OOh, you see 
the following error message: 

Invalid partition table 

If all these four Boot Indicator Bytes are OOh, indicating no active (bootable) partitions, 
you also see Cassette BASIC on an IBM system or the other messages indicated earlier 
depending on which BIOS you have. This is exactly what occurs if you were to remove 
the existing partitions from a drive using FDISK, but had not created new partitions on 
the drive, or had failed to make one of the partitions Active (bootable) with FDISK before 
rebooting your system. 

In the latest PS/2 systems, IBM has finally done away with the ROM BASIC once and for 
all. DOS versions through 5.x from IBM included the BASICA interpreter; however, with 
the introduction of DOS 6, IBM eliminated BASICA because the newer systems did not 
have the ROM portion anyway. Microsoft included GWBASIC in MS-DOS versions up to 
and including 4.x and eliminated it in later versions. All DOS 5 and higher versions (IBM 
and MS) have a special crippled version of the Microsoft QuickBASIC Compiler now 
included rather than GWBASIC or BASICA. The compiler is crippled so that you can 
compile programs in memory, but cannot create EXE files on disk. The run-time com- 
piler executes virtually all the older interpreted BASIC programs, so newer systems have 
no need for the old GWBASIC or BASICA interpreters. If you want the full version of 
QuickBASIC that will compile a program and save it as an EXE file, you must purchase 
the full version of QuickBASIC. 

ROM Versions. Over the years, the BIOS in various PC models has undergone changes 
almost always associated with either a new system or a new motherboard design for an 
existing system. There are several reasons for these changes. The introduction of the XT, 
for example, gave IBM a good opportunity to correct a few things in the system BIOS and 
also add necessary new features, such as automatic support for a hard disk. IBM retrofit- 
ted many of the same changes into the PC's BIOS at the same time. 

Because an in-depth knowledge of the types of BIOS is something a programmer might 
find useful, IBM makes this information available in the technical reference manuals sold 



The System Logical Memory Layout 257 

for each system. A new ROM BIOS technical reference manual covers all IBM systems in 
one book. Complete ROM BIOS listings (with comments) accompanied early IBM system 
documentation, but that information is not supplied for later IBMs. 

Even if you aren't a programmer, however, certain things about system BIOS are impor- 
tant to know. IBM has had many different BIOS versions for the PC and PS/2 families. 
Sometimes a system has different versions of BIOS over the course of a system's availabil- 
ity. For example, at least three versions of BIOS exist for each of the PC, XT, and AT sys- 
tems. Because a few important changes were made in the software stored in BIOS, 
knowing which BIOS is in your system can be useful. 

To determine which ROM BIOS module is installed in your system, first check your sys- 
tem documentation. If you have a 386 or later system, a few lines of text at the top of 
your screen during the POST probably identifies the manufacturer, BIOS revision num- 
ber, and date of manufacture. The BIOS version you have also may be indicated by the 
manufacturer's name, version number, and date encoded in the chip. 

On IBM systems, the ROM BIOS contains an ID byte (the second-to-last byte). The value 

of the byte at memory location FFFFE (hexadecimal) corresponds to the system type or 

model. Table 7.4 shows information about the different ROM BIOS versions that have 

appeared in various IBM systems. 

«/> 

v< 

The date that the BIOS module design was completed is important: It has the same </> 



n 



3 



meaning as a version number for software. (IBM later began to code an official revision 
number, as indicated in the last column of table 7.4) You can display the date by enter- 
ing the following four-statement BASIC program: 

10 DEF SEG=&HF000 

20 For X=&HFFF5 to &HFFFF § 

30 Print Chr$(Peek(X) ) ; 

40 Next 

An easier way to display the date is to use the DOS DEBUG program. First run DEBUG at 
the DOS prompt by entering the following command: 

DEBUG 

Then at the debug "-" prompt, enter the following command to display the ROM BIOS 
date: 

D FFFF:5 L 8 

You also can display the BIOS date with the MSD (Microsoft Diagnostics) program that 
comes with Windows, or the Device Manager in Windows 95. Most aftermarket diagnos- 
tics or utilities also display the BIOS date as well. 

If you are interested in a ROM upgrade for your system, you can contact the mother- 
board or even the BIOS manufacturer, such as Phoenix, Award, or AMI. Occasionally, the 
BIOS may be updated to fix problems or add support for new peripherals. 



258 



Chapter 7 — Memory 



Table 7.4 IBM BIOS Model, Submodel, and Revision Codes 



System Type 



CPU Speed 



Clock 



Bus Type/ 
Width 



PC 
PC 
PC 

PC-XT 
PC-XT 
PC-XT 
PCjr 

PC Convertible 
PS/2 25 
PS/2 30 
PS/2 30 
PS/2 30 
PC-AT 
PC-AT 
PC-AT 
PC-XT 286 
PS/1 

PS/2 25 286 
PS/2 30 286 
PS/2 30 286 
PS/2 35 SX 
PS/2 35 SX 
PS/2 40 SX 
PS/2 40 SX 
PS/2 L40 SX 
PS/2 50 
PS/2 50 
PS/2 50Z 
PS/2 50Z 
PS/2 55 SX 
PS/2 55 LS 
PS/2 57 SX 
PS/2 60 
PS/2 65 SX 
PS/2 70 386 
PS/2 70 386 
PS/2 70 386 



8088 

8088 

8088 

8088 

8088 

8088 

8088 

80C8 

8086 

8086 

8086 

8086 

286 

286 

286 

286 

286 

286 

286 

286 

386SX 

386SX 

386SX 

386SX 

386SX 

286 

286 

286 

286 

386SX 

386SX 

386SX 

286 

386SX 

386DX 

386DX 

386DX 



4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


4.77 MHz 


ISA/8 


8 MHz 


ISA/8 


8 MHz 


ISA/8 


8 MHz 


ISA/8 


8 MHz 


ISA/8 


6 MHz 


ISA/16 


6 MHz 


ISA/16 


8 MHz 


ISA/16 


6 MHz 


ISA/16 


10 MHz 


ISA/16 


10 MHz 


ISA/16 


10 MHz 


ISA/16 


10 MHz 


ISA/16 


20 MHz 


ISA/16 


20 MHz 


ISA/16 


20 MHz 


ISA/16 


20 MHz 


ISA/16 


20 MHz 


ISA/16 


10 MHz 


MCA/1 6 


10 MHz 


MCA/1 6 


10 MHz 


MCA/1 6 


10 MHz 


MCA/1 6 


16 MHz 


MCA/1 6 


16 MHz 


MCA/1 6 


20 MHz 


MCA/1 6 


10 MHz 


MCA/1 6 


16 MHz 


MCA/1 6 


16 MHz 


MCA/32 


16 MHz 


MCA/32 


16 MHz 


MCA/32 



The System Logical Memory Layout 



259 



ROM BIOS 
Date 



ID 
Byte 



Submodel 
Byte 



Rev. 



ST 506 
Drive Types 



04/24/81 


FF 


— 


— 


— 




10/19/81 


FF 


— 


— 


— 




10/27/82 


FF 


— 


— 


— 




1 1 /08/82 


FE 


— 


— 


— 




01/10/86 


FB 


00 


01 


— 




05/09/86 


FB 


00 


02 


— 




06/01/83 


FD 


— 


— 


— 




09/1 3/85 


F9 


00 


00 


— 




06/26/87 


FA 


01 


00 


26 




09/02/86 


FA 


00 


00 


26 




1 2/1 2/86 


FA 


00 


01 


26 




02/05/87 


FA 


00 


02 


26 




01/10/84 


FC 


— 


— 


15 




06/1 0/85 


FC 


00 


01 


23 




11/15/85 


FC 


01 


00 


23 




04/21/86 


FC 


02 


00 


24 




1 2/01 /89 


FC 


OB 


00 


44 




06/28/89 


FC 


09 


02 


37 




08/25/88 


FC 


09 


00 


37 




06/28/89 


FC 


09 


02 


37 




03/15/91 


F8 


19 


05 


37 




04/04/91 


F8 


19 


06 


37 




03/15/91 


F8 


19 


05 


37 




04/04/91 


F8 


19 


06 


37 




02/27/91 


F8 


23 


02 


37 




02/1 3/87 


FC 


04 


00 


32 




05/09/87 


FC 


04 


01 


32 




01/28/88 


FC 


04 


02 


33 




04/1 8/88 


FC 


04 


03 


33 




1 1 /02/88 


F8 


OC 


00 


33 




7 


F8 


IE 


00 


33 




07/03/91 


F8 


26 


02 


None 




02/13/87 


FC 


05 


00 


32 




02/08/90 


F8 


1C 


00 


33 




01 /29/88 


F8 


09 


00 


33 




04/11/88 


F8 


09 


02 


33 




12/15/89 


F8 


09 


04 


33 


(continues) 




(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



260 



Chapter 7 — Memory 



Table 7.4 Continued 



System Type 



CPU Speed 



Clock 



Bus Type/ 
Width 



32 

PS/2 70 386 
PS/2 70 386 
PS/2 70 386 
PS/2 70 386 
PS/2 70 486 
PS/2 70 486 
PS/2 P70 386 
PS/2 P70 386 
PS/2 P75 486 
PS/2 80 386 
PS/2 80 386 
PS/2 80 386 
PS/2 90 XP 486 
PS/2 90 XP 486 
PS/2 90 XP 486 
PS/2 90 XP 486 
PS/2 90 XP 486 
PS/2 95 XP 486 
PS/2 95 XP 486 
PS/2 95 XP 486 
PS/2 95 XP 486 
PS/2 95 XP 486 



01/29/88 


F8 


04 


386DX 


20 MHz 


MCA/32 


386DX 


20 MHz 


MCA/32 


386DX 


25 MHz 


MCA/32 


386DX 


25 MHz 


MCA/32 


486DX 


25 MHz 


MCA/32 


486DX 


25 MHz 


MCA/32 


386DX 


16 MHz 


MCA/32 


386DX 


20 MHz 


MCA/32 


486DX 


33 MHz 


MCA/32 


386DX 


16 MHz 


MCA/32 


386DX 


20 MHz 


MCA/32 


386DX 


25 MHz 


MCA/32 


486SX 


20 MHz 


MCA/32 


487SX 


20 MHz 


MCA/32 


486DX 


25 MHz 


MCA/32 


486DX 


33 MHz 


MCA/32 


486DX 


50 MHz 


MCA/32 


486SX 


20 MHz 


MCA/32 


487SX 


20 MHz 


MCA/32 


486DX 


25 MHz 


MCA/32 


486DX 


33 MHz 


MCA/32 


486DX 


50 MHz 


MCA/32 


numbers are in 


hexadecimal. 





Tlie ID byte, Submodel byte, and Revision 
— = This feature is not supported. 
None = Only SCSI drives are supported. 
? = Information is unavailable. 



Extended Memory 

As mentioned previously in this chapter, the memory map on a system based on the 286 
or higher processor can extend beyond the 1M boundary that exists when the processor 
is in real mode. On a 286 or 386SX system, the extended memory limit is 16M; on a 
386DX, 486, or Pentium system, the extended memory limit is 4G (4,096M). Systems 
based on the new P6 processor will have a limit of 64G (65,536M). 

For an AT system to address memory beyond the first megabyte, the processor must be 
in protected mode — the native mode of these newer processors. On a 286, only programs 
designed to run in protected mode can take advantage of extended memory. 386 and 
higher processors offer another mode, called virtual real mode, which enables extended 
memory to be, in effect, chopped into 1M pieces (each its own real mode session) and for 



The System Logical Memory Layout 



261 



ROM BIOS 
Date 



ID 
Byte 



Submodel 
Byte 



Rev. 



ST 506 
Drive Types 



00 


33 








04/11/88 


F8 


04 


02 


33 


12/15/89 


F8 


04 


04 


33 


06/08/88 


F8 


0D 


00 


33 


02/20/89 


F8 


0D 


01 


33 


12/01/89 


F8 


0D 


? 


7 


09/29/89 


F8 


IB 


00 


7 


? 


F8 


50 


00 


7 


01/18/89 


F8 


0B 


00 


33 


1 0/05/90 


F8 


52 


00 


33 


03/30/87 


F8 


00 


00 


32 


10/07/87 


F8 


01 


00 


32 


11/21/89 


F8 


80 


01 


? 


7 


F8 


2D 


00 


7 


7 


F8 


2F 


00 


7 


7 


F8 


11 


00 


7 


7 


F8 


13 


00 


7 


7 


F8 


2B 


00 


7 


7 


F8 


2C 


00 


7 


7 


F8 


2E 


00 


7 


7 


F8 


14 


00 


7 


7 


F8 


16 


00 


7 


7 


F8 


2A 


00 


7 



*5 

A 

3 

r> 

o 

3 

■o 
o 

3 
(6 

3 



several of these sessions to be running simultaneously in protected areas of memory. 
Although several DOS programs can be running at once, each still is limited to a maxi- 
mum of 640K of memory because each session simulates a real mode environment, right 
down to the BIOS and Upper Memory Area. Running several programs at once in virtual 
real mode, which is termed multitasking, requires software that can manage each program 
and keep them from crashing into one another. OS/2 does this now, and Windows 95 
allows this as well. 

The 286 and higher CPU chips also run in what is termed real mode, which enables full 
compatibility with the 8088 CPU chip installed on the PC/XT-type computer. Real mode 
enables you to run DOS programs one at a time on an AT-type system just like you 
would on a PC/XT. However, an AT-type system running in real mode, particularly a 
386-, 486-, Pentium-, or P6-based system, is really functioning as little more than a turbo 
PC. In real mode, these processors can emulate the 8086 or 8088, but they cannot oper- 
ate in protected mode at the same time. For that reason the 386 and above also provide a 



262 Chapter 7 — Memory 



virtual real mode that operates under protected mode. This allows the execution of real 
mode programs under the control of a protected mode operating system like OS/2 or 
Windows NT. 

Extended memory is basically all memory past the first megabyte, which can only be 
accessed while the processor is in protected mode. 

XMS Memory. The Extended Memory Specification (XMS) was developed in 1987 by 
Microsoft, Intel, AST Corp., and Lotus Development to specify how programs would use 
extended memory. The XMS functions on systems based on the 286 or higher and allows 
real-mode programs (those designed to run in DOS) to use extended memory and an- 
other block of memory usually out of the reach of DOS. 

Before XMS, there was no way to ensure cooperation between programs that switched 
the processor into protected mode and used extended memory. There was no way for 
one program to know what another had been doing with the extended memory because 
none of them could see that memory while in real mode. HIMEM.SYS becomes an arbi- 
trator of sorts that first grabs all the extended memory for itself and then doles it out to 
programs that know the XMS protocols. In this manner, several programs that use XMS 
memory can operate together under DOS on the same system, switching the processor 
into and out of protected mode to access the memory. XMS rules prevent one program 
from accessing memory that another has in use. Because Windows 3.x is a program man- 
ager that switches the system to and from protected mode in running several programs 
at once, it has been set up to require XMS memory to function. Windows 95 operates 
mostly in protected mode, but still calls on real mode for access to many system compo- 
nents. Windows NT is a true protected mode operating system, as is OS/2. In Windows 
3.x, HIMEM.SYS must be loaded for Windows to function. 

Extended memory can be made to conform to the XMS specification by installing a de- 
vice driver in the CONFIG.SYS file. The most common XMS driver is HIMEM.SYS, which 
is included with Windows and recent versions of DOS, starting with 4.0 and up. Other 
memory managers, like QEMM, also convert extended memory into XMS memory when 
you add their device drivers to CONFIG.SYS. 

High Memory Area (HMA) and the A20 line. The High Memory Area (HMA) is an area 
of memory 16 bytes short of 64K in size starting at the beginning of the first megabyte of 
extended memory. It can be used to load device drivers and memory-resident programs 
to free up conventional memory for use by real-mode programs. Only one device driver 
or memory-resident program can be loaded into HMA at one time, no matter what its 
size. Originally this could be any program, but Microsoft decided that DOS could get 
there first, and built capability into DOS 5 and newer versions. 

The HMA area is extremely important to those who use DOS 5 or higher because these 
DOS versions can move their own kernel (about 45K of program instructions) into this 
area. This is accomplished simply by first loading an XMS driver (such as HIMEM.SYS) 
and adding the line DOS=HIGH to your CONFIG.SYS file. Taking advantage of this DOS 
capability frees another 45K or so of conventional memory for use by real-mode pro- 
grams by essentially moving 45K of program code into the first segment of extended 



The System Logical Memory Layout 263 

memory. Although this memory was supposed to be accessible in protected mode only, 
it turns out that a defect in the design of the original 286 (which fortunately has been 
propagated forward to the more recent processors as a "feature") accidentally allows 
access to most of the first segment of extended memory while still in real mode. 

The use of the HMA is controlled by the HIMEM.SYS or equivalent driver. The origins of 
this memory usage are interesting because they are based on a bug in the original 286 
processor carried forward to the 386, 486, and Pentium. 

The problem started from the fact that memory addresses in Intel processors are dictated 
by an overlapping segment and offset address. By setting the segment address to FFFF, 
which itself specifies an actual address of FFFFO that is 16 bytes from the end of the first 
megabyte, and then specifies an offset of FFFF, which is equal to 64K, you can create a 
memory address as follows: 

FFFF segment 
+ FFFF offset 



= 10FFEF total 

This type of address is impossible on 8088 or an 8086 system that has only 20 address 

lines and therefore cannot calculate an address that large. By leaving off the leading 

digit, these processors interpret the address as OFFEF, in essence causing the address to 

"wrap around" and end up 16 bytes from the end of the first 64K segment of the first 

megabyte. The problem with the 286 and higher was that when they were in real mode, a 

they were supposed to operate the same way, and the address should wrap around to the 

beginning of the first megabyte also. Unfortunately, a bug in the chip left the 21st ad- 



the end of the first 64K segment in the second megabyte. This memory was supposed to 
be addressable only in protected mode, but this bug allowed all but 16 bytes of the first 
64K of extended memory to be addressable in real mode. 

Because this bug caused problems with many real-mode programs that relied on the 
wrap to take place, when IBM engineers designed the AT, they had to find a way to dis- 
able the A20 line while in real mode, but then re-enable it when in protected mode. 
They did this by using some unused pins on the 8042 keyboard controller chip on the 
motherboard. The 8042 keyboard controller was designed to accept scan codes from the 
keyboard and transmit them to the processor, but there were unused pins not needed 
strictly for this function. So IBM came up with a way to command the keyboard control- 
ler to turn on and off the A20 line, thus enabling the "defective" 286 to truly emulate an 
8088 and 8086 while in real mode. 

Microsoft realized that you could command the 8042 keyboard controller to turn back 
on the A20 line strictly for the purpose of using this bug as a feature that enabled you to 
access the first 64K of extended memory (less 16 bytes) without having to go through the 
lengthy and complicated process of switching into protected mode. Thus HIMEM.SYS 
and the HMA was born! HIMEM.SYS has to watch the system to see if the A20 line 
should be off for compatibility, or on to enable access to the HMA or while in protected 
mode. In essence, HIMEM becomes a control program that manipulates the A20 line 
through the 8042 keyboard controller chip. 




*5 



o 

dress line active (called the ^420 line), which allowed the address to end up 16 bytes from ^ 



o 

3 

n 

3 



264 Chapter 7 — Memory 



Expanded Memory 

Some older programs can use a type of memory called Expanded Memory Specification or 
EMS memory. Unlike conventional (the first megabyte) or extended (the second through 
16th or 4,096th megabytes) memory, expanded memory is not directly addressable by 
the processor. Instead, it can only be accessed through a small 64K window established 
in the UMA. Expanded memory is a segment or bank-switching scheme in which a cus- 
tom memory adapter has a large number of 64K segments on-board combined with spe- 
cial switching and mapping hardware. The system uses a free segment in the UMA as the 
home address for the EMS board. After this 64K is filled with data, the board rotates the 
filled segment out and a new, empty segment appears to take its place. In this fashion, 
you have a board that can keep on rotating in new segments to be filled with data. Be- 
cause only one segment can be seen or operated on at one time, EMS is very inefficient 
for program code and is normally only used for data. 

Segment D000 in the first megabyte usually is used for mapping. Lotus, Intel, and 
Microsoft — founders of the LIM specification for expanded memory (LIM EMS) — decided 
to use this segment because it is largely unused by most adapters. Programs must be writ- 
ten specially to take advantage of this segment-swapping scheme, and then only data 
normally can be placed in this segment because it is above the area of contiguous 
memory (640K) that DOS can use. For example, a program cannot run while it is 
swapped out and therefore not visible by the processor. This type of memory generally is 
useful only in systems that do not have extended (processor-addressable) memory avail- 
able to them. 

Figure 7.17 shows how expanded memory fits with conventional and extended memory. 

Intel originally created a custom purpose memory board that had the necessary EMS 
bank switching hardware. It called these boards Above Boards, and they were sold widely 
many years ago. EMS was designed with 8-bit systems in mind and was appropriate for 
them because they had no capability to access extended memory. 286 and newer sys- 
tems, however, have the capability to have 15M or more of extended memory, which is 
much more efficient than the goofy (and slow) bank switching EMS scheme. The Above 
Boards are no longer being manufactured, and EMS memory — as a concept as well as 
functionally — is extremely obsolete. If you have any antique software that still requires 
EMS memory, you are advised to upgrade to newer versions that can use extended 
memory directly. It is also possible to use the powerful MMU of the 386 and higher pro- 
cessors to convert extended memory to function like LIM EMS, but this should only be 
done if there is no way to use the extended memory directly. EMM386 can convert ex- 
tended to expanded, and in fact was originally designed for this purpose, although today 
it is more likely being used to map extended memory into the UMA for the purposes of 
loading drivers and not for EMS. The EMM386 driver is included with DOS versions 5 
and newer as well as with Windows. If you have several versions on hand, as a rule, al- 
ways use the newest one. 



The System Logical Memory Layout 



265 



Conventional and EXTENDED Memory 
16M/4G I , , | 



EXPANDED Memory 



32M 



\\\\\\\ 
/////// 
\\\\\\\ 



1M 

896K 
832K 
768K 

640K 
512K 



256K 



OK 



\\\\\\\ 
/////// 
\\\\\\\ 



\\\\\\\ 
/////// 
\\\\\\\ 



EXTENDED 

Memory 



Motherboard 
ROM 
BIOS 



EMS Window 



Adapter ROM 



Video 
RAM 



Conventional 
(Base) 
Memory 



— 4 16KPages(64K) 

of "bank switched" 

memory appear in the 

EMS Window usually 

at segment D000 



\\\\\\\ 
/////// 
\\\\\\\ 



EXPANDED 
Memory 

Divided into 
logical pages 

and 

Mapped into 

the EMS Window 




(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



Figure 7.17 

Conventional, extended, and expanded memory. 

Preventing ROM BIOS Memory Conflicts and Overlap 

As detailed in previous sections, C000 and D000 are reserved for use by adapter-board 
ROM and RAM. If two adapters have overlapping ROM or RAM addresses, usually neither 
board operates properly. Each board functions if you remove or disable the other one, 
but they do not work together. 

With many adapter boards, you can change the actual memory locations to be used with 
jumpers, switches, or driver software, which might be necessary to allow two boards to 
coexist in one system. This type of conflict can cause problems for troubleshooters. You 
must read the documentation for each adapter to find out what memory addresses the 
adapter uses and how to change the addresses to allow coexistence with another adapter. 
Most of the time, you can work around these problems by reconfiguring the board or 
changing jumpers, switch settings, or software-driver parameters. This change enables 
the two boards to coexist and stay out of each other's way. 



266 Chapter 7 — Memory 



Additionally, you must ensure that adapter boards do not use the same IRQ (interrupt 
request line), DMA (direct memory access) channel, or I/O Port address. You can easily 
avoid adapter board memory, IRQ, DMA channel, and I/O Port conflicts by creating a 
chart or template to mock up the system configuration by penciling on the template the 
resources already used by each installed adapter. You end up with a picture of the system 
resources and the relationship of each adapter to the others. This procedure helps you 
anticipate conflicts and ensures that you configure each adapter board correctly the first 
time. The template also becomes important documentation when you consider new 
adapter purchases. New adapters must be configurable to use the available resources in 
your system. 

If your system has Plug and Play capabilities and you use Plug and Play adapters, it will 
be able to resolve conflicts between the adapters by moving the memory usage on any 
conflict. Unfortunately, this routine is not intelligent and will still require human inter- 
vention, that is, manual specification of addresses in order to achieve the most optimum 
location for the adapter memory. 

ROM Shadowing 

Computers based on the 386 or higher CPU chip, which provides memory access on a 
32- or 64-bit path, often use a 16-bit data path for system ROM BIOS information. In 
addition, adapter cards with on-board BIOS may use an 8-bit path to system memory. On 
these high-end computers, using a 16- or 8-bit path to memory is a significant bottleneck 
to system performance. In addition to these problems of width, most actual ROM chips 
are available in maximum speeds far less than what is available for the system's dynamic 
RAM. For example, the fastest ROMs available are generally 150ns to 200ns, whereas the 
RAM in a modern system is rated at 60ns. Because ROM is so slow, any system accesses to 
programs or data in ROM cause many additional wait states to be inserted. These wait 
states can slow the entire system down tremendously, especially considering that many 
of the driver programs used constantly by DOS reside in the BIOS chips found on the 
motherboard and many of the installed adapters. Fortunately, a way was found to trans- 
fer the contents of the slow 8- or 16-bit ROM chips into much faster 32-bit main 
memory. This is called shadowing the ROMs. 

Virtually all 386 and higher systems enable you to use what is termed shadow memory for 
the motherboard and possibly some adapter ROMs as well. Shadowing essentially moves 
the programming code from slow ROM chips into fast 32-bit system memory. Shadowing 
slower ROMs by copying their contents into RAM can greatly speed up these BIOS rou- 
tines — sometimes making them four to five times faster. The shadowing is accomplished 
by using the powerful Memory Management Unit (MMU) in the 386 and higher proces- 
sors. With the appropriate instructions, the MMU can take a copy of the ROM code, 
place it in RAM, and enable the RAM such that it appears to the system in exactly the 
same addresses it was originally located at. This actually disables the ROM chips them- 
selves, which are essentially shut down. The system RAM that is now masquerading as 
ROM is fully write-protected so that it acts in every way just like the real ROM, with the 
exception of being much faster, of course! Most systems have an option in the system 
Setup to enable shadowing for the motherboard BIOS (usually segment F000) and the 
video BIOS (usually the first 32K of segment C000). Some systems will go farther and 



The System Logical Memory Layout 267 

offer you the capability to enable or disable shadowing in (usually 16K) increments 
throughout the remainder of the C000 and D000 segments. 

The important thing to note about shadowing is that if you enable shadowing for a 
given set of addresses, anything found there when the system is booting will be copied to 
RAM and locked in place. If you were to do this to a memory range that had a network 
adapter's shared memory mapped into it, the network card would cease to function. You 
must only shadow ranges that contain true ROM and no RAM. 

Some systems do not offer shadowing for areas other than the motherboard and video 
BIOS. In these systems, you can use a memory manager such as EMM386 (which comes 
with DOS and Windows) to enable shadowing for any range you specify. It is preferable 
to use the system's own internal shadowing capabilities first because the system shadow- 
ing uses memory that would otherwise be discarded. Using an external memory manager 
such as EMM386 for shadowing costs you a small amount of extended memory, equal to 
the amount of space you are shadowing. 

If you enable shadowing for a range of addresses and one or more adapters or the system 

in general no longer works properly, you may have scratch pad memory or other RAM 

within the shadowed area, which is not accessible as long as the shadowing remains 

active. In this case, you should disable the shadowing for the system to operate properly. 

If you can figure out precisely which addresses are ROM and which are RAM within the v? 

Upper Memory Area, you can selectively shadow only the ROM for maximum system j* 

performance. 3 

n 

Total Installed Memory versus Total Usable Memory © 

One thing that most people don't realize is that not all the SIMM or other RAM memory ^ 
you purchase and install in a system will be available. Because of some quirks in system 

design, the system usually has to "throw away" up to 384K of RAM to make way for the 3 

Upper Memory Area. Cf 

For example, most systems with 4M of RAM (which is 4,096K) installed show a total of 
only 3,712K installed during the POST or when running Setup. This indicates that 
4,096K-3,712K = 384K of missing memory! Some systems may show 3,968K with the 
same 4M installed, which works out to 4,096K-3,968K = 128K missing. 

If you run your Setup program and check out your base and extended memory values, 
you will find more information than just the single total shown during the POST. In 
most systems with 4,096K (4M), you have 640K base and 3072K extended. In some sys- 
tems, Setup reports 640K base and 3328K extended memory, which is a bonus. In other 
words, most systems come up 384K short, but some come up only 128K short. 

This shortfall is not easy to explain, but it is consistent from system to system. I cur- 
rently take six to nine hours of class time in my seminars to fully explore, explain, and 
exploit memory, but this explanation must be more brief! Say that you have a 486 sys- 
tem with two installed 72-pin (36-bit) 1M SIMMs. This results in a total installed 
memory of 2M in two separate banks because the processor has a 32-bit data bus, and 
one parity bit is required for every eight data bits. Each SIMM is a single bank in this 
system. Notice that most cheaper 486 systems use the 30-pin (9-bit) SIMMs of which four 




268 Chapter 7 — Memory 



are required to make a single bank. The first bank (or SIMM in this case) starts at address 
000000 (the first meg), and the second starts at 100000 (the second meg). 

One of the cardinal rules of memory is that you absolutely cannot have two hardware 
devices wired to the same address. This means that 384K of the first memory bank in this 
system would be in direct conflict with the Video RAM (segments A000 and B000), any 
adapter card ROMs (segments C000 and D000), and of course the motherboard ROM 
(segments E000 and F000). This means that all SIMM RAM that occupies these addresses 
must be shut off or the system will not function! Actually, a motherboard designer can 
do three things with the SIMM memory that would overlap from A0000-FFFFF, as shown 
in the following list: 

■ Use the faster RAM to hold a copy of any slow ROMs (shadowing), disabling the 
ROM in the process. 

■ Turn off any RAM not used for shadowing, eliminating any UMA conflicts. 

■ Remap any RAM not used for shadowing, adding to the stack of currently installed 
extended memory. 

Most systems shadow the motherboard ROM (usually 64K), the video ROM (32K), and 
simply turn off the rest. Some motherboard ROMs allow additional shadowing to be 
selected between C8000-DFFFF, usually in 16K increments. Note that you can only 
shadow ROM, never RAM, so if any card (such as a network card for example) has a RAM 
buffer in the C8000-DFFFF area, you must not shadow the RAM buffer addresses or the 
card does not function. For the same reason, you cannot shadow the A0000-BFFFF area 
because this is the video adapter RAM buffer. 

Most motherboards do not do any remapping, which means that any of the 384K not 
shadowed is simply turned off. That is why enabling shadowing does not seem to use 
any memory. The memory used for shadowing would otherwise be discarded in most 
systems. These systems would appear to be short by 384K compared to what is physically 
installed in the system. In my example system with 2M, no remapping would result in 
640K of base memory and 1,024K of extended memory, for a total of 1,664K of usable 
RAM— 384K short of the total (2,048K-384K). 

More advanced systems shadow what they can and then remap any segments that do 
not have shadowing into extended memory so as not to waste the non-shadowed RAM. 
PS/2 systems, for example, shadow the motherboard BIOS area (E0000-FFFFF or 128K in 
these systems) and remap the rest of the first bank of SIMM memory (256K from A0000- 
DFFFF) to whatever address follows the last installed bank. Notice that PS/2 systems have 
the video BIOS integrated with the motherboard BIOS in E0000-FFFFF, so no separate 
video BIOS exists to shadow as compared to other systems. In my example system with 
two 1M 36-bit SIMMs, the 256K not used for shadowing would be remapped to 200000- 
23FFFF, which is the start of the third megabyte. This affects diagnostics because if you 
had any memory error reported in those addresses (200000-23FFFF), it would indicate a 
failure in the FIRST SIMM, even though the addresses point to the end of installed ex- 
tended memory. The addresses from 100000-1FFFFF would be in the second SIMM, and 



The System Logical Memory Layout 269 

the 640K base memory 000000-09FFFF would be back in the first SIMM. As you can see, 
figuring out how the SIMMs are mapped into the system is not easy! 

Most systems that do remapping can only remap an entire segment if no shadowing is 
going on within it. The video RAM area in segments A000 and B000 can never contain 
shadowing, so at least 128K can be remapped to the top of installed extended memory in 
any system that supports remapping. Because most systems shadow in segments F000 
(motherboard ROM) and C000 (Video ROM), these two segments cannot be remapped. 
This leaves 256K maximum for remapping. Any system remapping the full 384K must 
not be shadowing at all, which would slow down the system and is not recommended. 
Shadowing is always preferred over remapping, and remapping what is not shadowed is 
definitely preferred to simply turning off the RAM. 

Systems that have 384K of "missing" memory do not do remapping. If you want to de- 
termine if your system has any missing memory, all you need to know are three things. 
One is the total physical memory actually installed. The other two items can be discov- 
ered by running your Setup program. You want to know the total base and extended 
memory numbers recognized by the system. Then simply subtract the base and extended 
memory from the total installed to determine the missing memory. You will usually find 
that your system is "missing" 384K, but you may be lucky and have a system that remaps 
256K of what is missing and thus shows only 128K of memory missing. Virtually all 
systems use some of the missing memory for shadowing ROMs, especially the 
motherboard and video BIOS; so what is missing is not completely wasted. Systems 
"missing" 128K will find that it is being used to shadow your motherboard BIOS (64K 



rather then take the trouble to remap them. Remapping requires additional logic and 
BIOS routines to accomplish, and many motherboard designers do not feel that it is 
worth the effort to reclaim 256K. Note that if your system is doing remapping, any errors 
reported near the end of installed extended memory are likely in the first bank of 
memory because that is where they are remapped from. The first bank in a 32-bit system 
would be constructed of either four 30-pin (9-bit) SIMMs or one 72-pin (36-bit) SIMM. 

Adapter Memory Configuration and Optimization 

Ideally, all adapter boards would be Plug and Play devices that require you to merely 
plug the adapter into a motherboard slot and then use it. With the new Plug and Play 
specification, we are moving toward that goal. However, sometimes it almost seems that 
adapter boards are designed as if they were the only adapter likely to be present on a 
system. They usually require you to know the upper memory addresses and IRQ and 
DMA channels already on your system, and then to configure the new adapter so that it 
does not conflict with your already-installed adapters. 

Adapter boards use upper memory for their BIOS and as working RAM. If two boards 
attempt to use the same BIOS area or RAM area of upper memory, a conflict occurs that 
can keep your system from booting. The following sections cover ways to avoid these 
potential conflicts and how to troubleshoot them if they do occur. In addition, these 



*5 



3 



from FOOOO-FFFFF) and video BIOS (32K from C0000-C8000). The remainder of segment o 

C0000 (32K from C8000-CFFFF) is simply being turned off. All other segments (128K 

from AOOOO-BFFFF and 128K from DOOOO-EFFFF) are being remapped to the start of the 

fifth megabyte (400000-43FFFF). Most systems simply disable these remaining segments n 



3 



270 Chapter 7 — Memory 



sections discuss moving adapter memory to resolve conflicts and provide some ideas on 
optimizing adapter memory use. 

Adding adapters to EISA and MCA systems is somewhat more simple because these sys- 
tem architectures feature auto-configure adapter boards. In other words, EISA and MCA 
systems work with adapters to determine available upper memory addresses, IRQs, and 
DMA channels, and automatically configure all adapters to work optimally together. 

How to Determine what Adapters Occupy the UMA. You can determine what adapt- 
ers are using space in upper memory in the following two ways: 

■ Study the documentation for each adapter on your system to determine the 
memory addresses they use. 

■ Use a software utility that can quickly determine for you what upper memory areas 
your adapters are using. 

The simplest way (although by no means always the most foolproof) is to use a software 
utility to determine the upper memory areas used by the adapters installed on your sys- 
tem. One such utility, Microsoft Diagnostics (MSD), comes with Windows 3 and DOS 6 
or higher versions. You also can download MSD from the Microsoft BBS (see Appendix B 
for the number). This utility examines your system configuration and determines not 
only the upper memory used by your adapters, but also the IRQs used by each of these 
adapters. Many other utilities can accomplish the same task, but most people already 
have a copy of MSD — whether they know it or not! 

After you run MSD or another utility to determine your system's upper memory configu- 
ration, make a printout of the memory addresses used. Thereafter, you can quickly refer 
to the printout when you are adding a new adapter to ensure that the new board does 
not conflict with any devices already installed on your system. 

Moving Adapter Memory to Resolve Conflicts. After you identify a conflict or poten- 
tial conflict by studying the documentation for the adapter boards installed on your 
system or using a software diagnostic utility to determine the upper memory addresses 
used by your adapter boards, you may have to reconfigure one or more of your adapters 
to move the upper memory space used by a problem adapter. 

Most adapter boards make moving adapter memory a somewhat simple process, enabling 
you to change a few jumpers or switches to reconfigure the board. The following steps 
help you resolve most conflicts that arise because adapter boards conflict with one an- 
other: 

1 . Determine the upper memory addresses currently used by your adapter boards and 
write them down. 

2. Determine if any of these addresses are overlapping, which results in a conflict. 

3. Consult the documentation for your adapter boards to determine which boards can 
be reconfigured so that all adapters have access to unique memory addresses. 

4. Configure the affected adapter boards so that no conflict in memory addresses 
occurs. 



The System Logical Memory Layout 271 

For example, if one adapter uses the upper memory range C8000-CBFFF and another 
adapter uses the range CAOOO-CCFFF, you have a potential address conflict. One of these 
must be changed. 

Optimizing Adapter Memory Use. On an ideal PC, adapter boards would always come 
configured so that the upper memory addresses they use immediately follow the upper 
memory addresses used by the previous adapter, with no overlap that would cause con- 
flicts. Such an upper memory arrangement would not only be "clean," but would make 
it much simpler to use available upper memory for loading device drivers and memory- 
resident programs. However, this is not the case. Adapter boards often leave gaps of un- 
used memory between one another, which is, of course, preferable to an overlap, but still 
is not the best use of upper memory. 

Someone who wanted to make the most of their upper memory might consider studying 
the documentation for each adapter board installed on their system to determine a way 
to compact the upper memory used by each of these devices. For example, if it were 
possible on a particular system using the adapters installed on it, the use of upper 
memory could be more simple if you configured your adapter boards so that the blocks 
of memory they use fit together like bricks in a wall, rather than like a slice of Swiss 
cheese, as is the case on most systems. The more you can reduce your free upper memory 
to as few contiguous chunks as possible, the more completely and efficiently you can 
take advantage of the upper memory area. 

(6 

Taking Advantage of Unused Upper Memory 3 

On systems based on the 386 or higher CPU chip, memory-resident programs and device £ 

drivers can be moved into the upper memory area by using a memory manager like the 3 

DOS 6.x MEMMAKER utility or Quarterdeck's QEMM. These memory management utili- 
ties examine the memory-resident programs and device drivers installed on your system, 
determine their memory needs, and then calculate the best way to move these drivers -J 

and programs into upper memory, thus freeing the conventional memory they used. 

Using MEMMAKER and QEMM is quite simple. Make a backup of your CONFIG.SYS and 
AUTOEXEC.BAT files so that you have usable copies if you need them to restore your 
system configuration, and then run either MEMMAKER from the DOS prompt or use the 
installation program on the QEMM disk. Both programs install required device drivers in 
your CONFIG.SYS file, and then begin optimizing your memory configuration. Both do 
an outstanding job of freeing up conventional memory, although QEMM can free more 
conventional memory automatically than most other utilities. With careful fine-tuning, 
an individual can perform feats of memory management using only the raw DOS 
HIMEM.SYS and EMM386.EXE drivers that no automatic program can do! 

The following sections cover using memory management software to optimize conven- 
tional memory, as well as additional ways to configure your system memory to make 
your system run as efficiently as possible. It is important to note that the DOS 
HIMEM.SYS and EMM386.EXE play an integral role in MEMMAKER's capability to move 
device drivers and memory-resident programs into upper memory. The next two sections 
describe using HIMEM.SYS and EMM386.EXE to configure extended and expanded 
memory. 



*5 



o 

3 

n 



272 Chapter 7 — Memory 



Only driver programs that run in the processor's real mode must be loaded within the first mega- 
byte of memory. Because real mode drivers are made up of 1 6-bit real mode program code, they 
cannot reside in extended memory, as only the first megabyte (base memory) is accessible when in 
real mode. DOS and Windows 3.x are 1 6-bit programs and utilize drivers that run in real mode, 
hence the need for the base memory optimization. With the number of drivers that people are 
using today, it can be difficult to fit them all in the available UMA space while leaving enough base 
memory free to run applications. 

Things are changing with the newer operating systems. Windows 95, for example, uses primarily 
32-bit protected mode drivers and program code, although there is still a large amount of 1 6-bit 
real mode program code left. Windows NT and OS/2 are full 32-bit operating systems, and all their 
drivers and applications are made up of 32-bit protected mode instruction code. If you are using 
all 32-bit programs, then virtually no memory optimization is necessary in the first megabyte, as 
32-bit programs are free to run in extended memory. 

If you are running older 1 6-bit DOS applications under Windows 95, NT, or OS/2, then you still 
need to know about base memory optimization. In these cases, you will be running the application 
in a DOS window, which, using the virtual real mode of the processor, can emulate the first mega- 
byte of real mode workspace. Using these 32-bit operating systems, you can customize how the 
application running in the DOS window sees the system, and how the system memory appears to 
be organized. 



Using HIMEM.SYS (DOS). The DOS device driver HIMEM.SYS, which has been included 
with Windows as well as DOS 4.0 and higher, is used to configure extended memory to 
the XMS specification as well as to enable the use of the first 64K of extended memory as 
the High Memory Area (HMA). HIMEM.SYS is installed by adding a line invoking the 
device driver to your CONFIG.SYS file. 

The XMS extended memory specification was developed by Microsoft, Intel, AST Corp., 
and Lotus Development in 1987 and specifies how programs can use memory beyond 
the first megabyte on systems based on the 286 CPU chip or higher. The XMS specifica- 
tion also allows real mode programs (those designed to run in DOS) to use extended 
memory in several different ways. 

Using EMM386.EXE (DOS). The program EMM386.EXE, which is included with DOS 
5.0 and higher, is used primarily to map XMS memory (extended memory managed by 
HIMEM.SYS) into unused regions of the Upper Memory Area (UMA). This allows pro- 
grams to be loaded into these regions for use under DOS. EMM386 also has a secondary 
function of using XMS memory to emulate EMS version 4 memory, which can then be 
used by programs that need expanded memory. For more information on using 
EMM386.EXE, refer to Que's Using MS-DOS 6 or your DOS manual. 

MS-DOS 6.x MEMMAKER. You can increase the amount of conventional memory avail- 
able to software applications on systems based on the 386 chip and above by running 
the MS DOS 6.x utility MEMMAKER. DOS 5 had the capability, using EMM386, to map 
extended memory into the Upper Memory Area so that DOS can load memory-resident 



*5 



The System Logical Memory Layout 273 

programs and drivers into the UMA. Unfortunately, this required an extensive knowl- 
edge of the upper memory configuration of a particular system, as well as trial and error 
to see what programs can fit into the available free regions. This process was difficult 
enough that many people were not effectively using their memory under DOS (and Win- 
dows). To make things easier, when DOS 6 was released, Microsoft included a menu 
driven program called MEMMAKER that determines the system configuration and auto- 
matically creates the proper EMM386 statements and inserts them into the CONFIG.SYS 
file. By manipulating the UMA manually or through MEMMAKER and loading device 
drivers and memory-resident programs into upper memory, you can have more than 
600K of free conventional memory. 

Over the course of months or years of use, the installation programs for various software 
utilities often install so many memory-resident programs and device drivers in your 
AUTOEXEC.BAT and CONFIG.SYS files that you have too little conventional memory 
left to start all the programs you want to run. You may want to use MEMMAKER to free 
up more conventional memory for your programs. When you run the MEMMAKER util- 
ity, it automatically performs the following functions to free up more memory: 

■ Moves a portion of the DOS kernel into the high memory area (HMA). 

■ Maps free XMS memory into unused regions in the Upper Memory Area (UMA) as 
Upper Memory Blocks {UMBs), into which DOS can then load device drivers and 
memory-resident programs to free up the conventional memory these drivers and 
programs otherwise use. 3 

■ Modifies CONFIG.SYS and AUTOEXEC.BAT to cause DOS to load memory-resident o 
programs and device drivers into UMBs. 


Before running MEMMAKER, carefully examine your CONFIG.SYS and AUTOEXEC.BAT 
files to identify unnecessary device drivers and memory-resident programs. For example, 
the DOS device driver ANSI. SYS is often loaded in CONFIG.SYS to enable you to use 
color and other attributes at the DOS prompt as well as to remap the keys on your key- 
board. If you are primarily a Windows user and do not spend much time at the DOS 
prompt, you can eliminate ANSI. SYS from your CONFIG.SYS file to free up the memory 
the driver is using. 

After you strip down CONFIG.SYS and AUTOEXEC.BAT to their bare essentials (it is ad- 
visable to make backup copies first), you are ready to run MEMMAKER to optimize your 
system memory. To run MEMMAKER, exit from any other programs you are running; 
start your network or any memory-resident programs and device drivers you absolutely 
need; and at the DOS prompt, type the following: 

MEMMAKER 

The MEMMAKER setup runs in two modes — Express and Custom. Express setup is prefer- 
able for those who want to enable MEMMAKER to load device drivers and memory- 
resident programs into high memory with the minimum amount of user input, unless 
they have an EGA or VGA (but not a Super VGA) monitor. If you have an EGA or VGA 
monitor, choose Custom Setup and answer Yes in the advanced options screen where it 




3 



274 Chapter 7 — Memory 



asks whether MEMMAKER should use monochrome region (B0000-B7FFF) for running 
programs. Use the defaults for the rest of the options in Custom Setup unless you are 
sure that one of the defaults is not correct for your system. Custom Setup is probably not 
a good idea unless you are knowledgeable about optimizing system memory, particular 
device drivers, and memory-resident programs on the system. 

When MEMMAKER finishes optimizing the system memory, the following three lines are 
added to CONFIG.SYS: 

DEVICE=C: \DOS\HIMEM.SYS 
DEVICE=C: \D0S\EMM386.EXE NOEMS 
DOS=HIGH,UMB 

In addition, MEMMAKER modifies each line in CONFIG.SYS and AUTOEXEC.BAT that 
loads a device driver or memory-resident program now being loaded into UMBs. Various 
DEVICE= lines in your CONFIG.SYS are changed to DEVICEHIGH=, and various lines in 
your AUTOEXEC.BAT have the LH (LoadHigh) command inserted in front of them. For 
example, the line DEVICE= ANSI. SYS is changed to DEVICEHIGH=ANSI.SYS. In your 
AUTOEXEC.BAT, lines like C:\DOS\DOSKEY are changed to LH C:\DOS\DOSKEY. The 
DEVICEHIGH and LH commands load the device drivers and memory-resident programs 
into UMBs. MEMMAKER also adds codes to specify where in upper memory each pro- 
gram will be loaded. For example, after you run MEMMAKER, a statement like this might 
be added to your AUTOEXEC.BAT: 

LH /L:1 C:\D0S\D0SKEY 

The "/L:l" causes the resident program DOSKEY to load into the first UMB region. On 
many systems, MEMMAKER configures the system to free up 620K of conventional 
memory. 

For detailed information on using the MEMMAKER utility, consult your DOS 6 manual 
or Que's Using MS-DOS 6.22, Special Edition. If you have MS-DOS, you can get help on 
MEMMAKER by typing HELP MEMMAKER at the DOS prompt. 

IBM-DOS (6.x and up) RAMBoost. The IBM-DOS 6.x, IBM DOS 7.x, and up RAMBoost 
utility, licensed from Central Point, which supplies some of the DOS 6 utilities, works 
much like MEMMAKER to free up additional conventional memory. After you make 
backup copies of CONFIG.SYS and AUTOEXEC.BAT and strip down these files to only 
what you need to load, enter the following at the DOS prompt: 

RAMSETUP 

RAMBoost calculates the best way to load your memory-resident programs and device 
drivers into UMBs. RAMBoost gives results roughly equivalent to the MS-DOS 6 
MEMMAKER utility. On many systems, it frees up 620K of conventional memory. 

Third-Party Memory Managers. Although MEMMAKER and RAMBoost do a good job 
of freeing-up conventional memory on most systems, memory management utilities like 
Quarterdeck's QEMM and Qualitas' 386MAX can do a better job on many systems with 
more complex configurations, and therefore, numerous memory-resident programs and 
device drivers. The following sections provide information about QEMM and 386MAX. 



Physical Memory 275 

If you are running the new Windows 95, be aware that these products are available in 
new versions that are specifically designed for Windows 95. 

Quarterdeck QEMM. One of the strengths of QEMM is how simple it is to install and 
use. Before running the QEMM INSTALL program, make a backup of your CONFIG.SYS 
and AUTOEXEC.BAT files so that you have usable copies if you need them to restore 
your system configuration. Then exit any program you are running. At the DOS prompt, 
log in to the drive where the QEMM install diskette is located and run the INSTALL pro- 
gram. QEMM copies its files to the C:\QEMM directory (or another directory if you 
want). 

Then the INSTALL program loads the Optimize utility, which calculates the upper 
memory needed for your memory-resident programs and device drivers, and determines 
the proper region of upper memory for each. During this process, your system is 
rebooted several times (or when prompted, you may have to turn off your system and 
then restart it). When Optimize is finished, you can type MEM at the DOS prompt to 
find out how much free conventional memory your system has. 

After QEMM is installed and running on your system, each time you add a memory- 
resident program or device driver, or any time you add or remove an adapter board 
(which might change the configuration of upper memory), you need to again run 
OPTIMIZE. For additional information on installing and running QEMM, and for vf 

VI 

r* 

n 
3 

n 



troubleshooting help, consult your QEMM user manual. 



Physical Memory 




One of the best features of QEMM is that it comes with a system configuration diagnostic 

utility called MANIFEST. This program is much like MSD, but offers more information 

and detail in many areas. i 


Qualitas 386MAX. Before running the 386MAX INSTALL program, make a backup 3. 

copy of your CONFIG.SYS and AUTOEXEC.BAT files in case you need them later to re- 3 

store your system. Then exit any program you are running, log in to the drive with the 
386MAX install disk, and run INSTALL. 386MAX copies its files to the C:\386MAX 
subdirectory (or any directory you choose). Then the INSTALL program loads the MAXI- 
MIZE utility, which determines where in upper memory to place each memory-resident 
program and device driver. 

When MAXIMIZE finishes, you can type MEM at the DOS prompt to find out how much 
free conventional memory your system has. 

As with MEMMAKER and QEMM, 386MAX uses codes to specify which region of upper 
memory each memory-resident program and device driver is loaded into. Whenever you 
add a new device driver or memory-resident program to your system, or when you add 
or remove an adapter, you must again run MAXIMIZE. 



The CPU and motherboard architecture dictates a computer's physical memory capacity. 
The 8088 and 8086, with 20 address lines, can use as much as 1M (1,024K) of RAM. The 



276 Chapter 7 — Memory 



286 and 386SX CPUs have 24 address lines; they can keep track of as much as 16M of 
memory. The 386DX, 486, and Pentium CPUs have a full set of 32 address lines; they can 
keep track of a staggering four gigabytes of memory, while the P6 with 36 address lines 
can manage 64 gigabytes! 

When the 286, 386, 486, Pentium, and P6 chips emulate the 8088 chip (as they do when 
running a single DOS program), they implement a hardware operating mode called real 
mode. Real mode is the only mode available on the 8086 and 8088 chips used in PC and 
XT systems. In real mode, all Intel processors — even the mighty Pentium — are restricted 
to using only 1M of memory, just as their 8086 and 8088 ancestors, and the system de- 
sign reserves 384K of that amount. Only in protected mode can the 286 or better chips 
use their maximum potential for memory addressing. 

Pentium-based systems can address as much as four gigabytes of memory. To put these 
memory-addressing capabilities into perspective, four gigabytes (4,096M) of memory 
costing the going rate of about $30 per megabyte for fast (60 nanoseconds or less) RAM 
chips would total $122,880!! Of course, you could probably negotiate a much better price 
with a chip vendor if you planned to buy four gigabytes of SIMMs! Even if you could 
afford all this memory, the largest SIMMs available today are 72-pin versions with 64M 
capacity. Most Pentium motherboards only have four to eight SIMM sockets, which al- 
lows a maximum of 256M to 512M if all four or eight sockets are filled. Not all systems 
accept all SIMMs, so you might have a limitation of less than this amount for many 
Pentium and 486 systems. 

On many systems, accessing RAM chips installed directly on a motherboard is faster than 
accessing memory through an expansion slot. Even without considering this speed ad- 
vantage, you have the advantage of saving slots. The more memory chips you can get on 
the motherboard, the fewer adapter slots you need to use. A system that does not have a 
memory expansion slot faces a large reduction in speed if you use a memory expansion 
board made for a standard 16-bit slot. 

Some 386 and 486 motherboards may have problems addressing memory past 16M due 
to DMA (Direct Memory Access) controller problems. If you install an ISA adapter that 
uses a DMA channel and you have more than 16M of memory, you have the potential 
for problems because the ISA bus only allows DMA access to 16M. Attempted transfers 
beyond 16M cause the system to crash. Most modern 486 motherboards enable you to 
install a maximum of 64M on the motherboard using four 16M SIMMs. 

Because the PC hardware design reserves the top 384K of the first megabyte of system 
memory for use by the system itself, you have access to 640K for your programs and 
data. The use of 384K by the system results in the 640K conventional memory limit. The 
amount of conventional memory you can actually use for programs depends on the 
memory used by device drivers (such as ANSI. SYS) and memory-resident programs (such 
as MOUSE.COM) you load in your CONFIG.SYS and AUTOEXEC.BAT files. Device drivers 
and memory-resident programs usually use conventional memory. 

RAM Chips 

A RAM chip temporarily stores programs when they are running and stores the data being 
used by those programs. RAM chips are sometimes termed volatile storage because when 



Physical Memory 277 

you turn off your computer or an electrical outage occurs, whatever is stored in RAM is 
lost unless you saved it to your hard drive. Because of the volatile nature of RAM, many 
computer users make it a habit to save their work frequently. (Some software applica- 
tions can do timed backups automatically.) 

Launching a computer program instructs DOS to bring an EXE or COM disk file into 
RAM, and as long as they are running, computer programs reside in RAM. The CPU ex- 
ecutes programmed instructions in RAM. RAM stores your keystrokes when you use a 
word processor. RAM stores numbers used in calculations. The CPU also stores results in 
RAM. Telling a program to save your data instructs the program to store RAM contents 
on your hard drive as a file. 

If you decide to purchase more RAM, you need the information on RAM chips and their 
speeds presented in the following sections to help ensure that you don't slow down your 
computer when you add memory. 

Physical Storage and Organization 

RAM chips can be physically integrated into the motherboard or adapter board in several 

forms. Older systems used individual memory chips, called Dual In-line Pin (DIP) chips, 

that were plugged into sockets or soldered directly to a board. Most modern systems use 

a memory package called a Single In-line Memory Module (SIMM). These modules combine 

several chips on a small circuit board plugged into a retaining socket. A SIPP, or Single In- *< 

line Pin Package, is similar to a SIMM, but it uses pins rather than an edge connector to J 

connect to the motherboard. It would be possible to convert a SIPP to a SIMM by cutting 3 

off the pins, or to convert a SIMM to a SIPP by soldering pins on. Also, some companies Q 

are making SIPP to SIMM converters that allow the SIPPs to be plugged into conven- 3 

tional 30-pin SIMM sockets. 

3 
Many newer Pentium and Pentium Pro systems use 168-pin DIMMs (Dual In-line 3 

Memory Modules), which is a newer high-density memory module design suited to Cf 

64-bit systems. 

Several types of memory chips have been used in PC system motherboards. Most of these 
chips are single-bit-wide chips, available in several capacities. The following table lists 
available RAM chips and their capacities: 

RAM Chip Capacity 

1 6K by 1 bit These devices were used in the original IBM PC with a Type 1 

motherboard. 

64K by 1 bit These chips were used in the standard IBM PC Type 2 motherboard and in 

the XT Type 1 and 2 motherboards. Many memory adapters of the era, 
such as the popular vintage AST 6-pack boards, also used these chips. 

1 28K by 1 bit These chips, used in the IBM AT Type 1 motherboard, often were a strange 

physical combination of two 64K chips stacked on top of one another and 
soldered together. Single-chip versions also were used for storing the parity 
bits in the IBM XT 286. 

256K by 1 bit These chips once were very popular in motherboards and memory cards, 

(or 64K by 4 bits) The IBM XT Type 2 and IBM AT Type 2 motherboards, as well as most 

compatible systems of that era, used these chips. 

(continues) 




278 



Chapter 7 — Memory 



(continued) 
RAM Chip 



Capacity 



1 M by 1 bit (or 
256K by 4 bits) 

4M by 1 bit (or 
1 M by 4 bits) 

1 6M by 1 bit (or 
4M by 4 bits) 

64 M by 1 bit (or 
1 6M by 4 bits) 

256M by 1 bit (or 
64 M by 4 bits) 



1 M chips were very popular for a number of years and were most often 
used in 256K to 8M SIMMs. 

Four-megabit chips are used primarily in SIMMs from 1 M to 1 6M in 
capacity. They are used primarily in 4M and 8M SIMMs and generally are 
not sold as individual chips. 

16-megabit chips are often used in 72-pin SIMMs of 16M to 32M capacity. 

64-megabit chips are popular in high capacity 1 6M or larger memory 
modules, especially for notebook systems. 

256-megabit chips are the most recent on the market. These chips allow 
enormous SIMM capacities of 1 28M or larger! Because of the high expense 
and limited availability of these chips, you see them only in the most 
expensive and highest capacity modules on the market. 



Figure 7.18 shows a typical memory chip. Each marking on the chip is significant. 



_F_ MB81 256-10 

8609 B04 BC 



USA 



Figure 7.18 

The markings on a typical memory chip. 

The -10 on the chip corresponds to its speed in nanoseconds (a 100-nanosecond rating). 
MB81256 is the chip's part number, which usually contains a clue about the chip's ca- 
pacity. The key digits are 1256, which indicate that this chip is 1 bit wide, and has a 
depth of 25 6K. The 1 means that to make a full byte with parity, you need nine of these 
single-bit-wide chips. A chip with a part number KM4164B-10 indicates a 64K-by-l-bit 
chip at a speed of 100 nanoseconds. The following list matches common chips with their 
part numbers: 



Part Number 


Chip 


4164 


64K by 1 bit 


4464 


64K by 4 bits 


41128 


128Kby 1 bit 


44128 


128Kby4bits 


41256 


256K by 1 bit 


44256 


256K by 4 bits 


41000 


1 M by 1 bit 


44000 


1 M by 4 bits 



Chips wider than 1 bit are used to construct banks of less than 9, 18, or 36 chips (de- 
pending on the system architecture). For example, in the IBM XT 286, which is an 



Physical Memory 



279 



AT- type 16-bit system, the last 128K bytes of memory on the motherboard consist of a 
bank with only six chips; four are 64K-by-4 bits wide, and two parity chips are 1 bit wide, 
storing 18 bits. 

In figure 7.18, the "F" symbol centered between two lines is the manufacturer's logo for 
Fujitsu Microelectronics. The 8609 indicates the date of manufacture (ninth week of 
1986). Some manufacturers, however, use a Julian date code. To decode the chip further, 
contact the manufacturer if you can tell who that is, or perhaps a memory chip vendor. 

Memory Banks 

Memory chips (DIPs, SIMMs, SIPPs, and DIMMs) are organized in banks on motherboards 
and memory cards. You should know the memory bank layout and position on the 
motherboard and memory cards. 

You need to know the bank layout when adding memory to the system. In addition, 
memory diagnostics report error locations by byte and bit addresses, and you must use 
these numbers to locate which bank in your system contains the problem. 

The banks usually correspond to the data bus capacity of the system's microprocessor. 
Table 7.5 shows the widths of individual banks based on the type of PC. 




Table 7.5 Memory Bank Widths on Different Systems 







Memory 
Bank 


Memory 
Bank 


30-pin 
SIMMs 


72-pin 
SIMMs 


168-pin 
SIMMs 


Processor 


Data Bus 


Size (No 
Parity) 


Size 
(Parity) 


per 
Bank 


per 
Bank 


per 
Bank 


8088 


8-bit 


8-bits 


9-bits 


1 


<1* 


<1* 


8086 


16-bit 


1 6-bits 


1 8-bits 


2 


<1* 


<1* 


286 


16-bit 


1 6-bits 


1 8-bits 


2 


<1* 


<1* 


386SX, SL, SLC 


16-bit 


1 6-bits 


1 8-bits 


2 


<1* 


<1* 


386DX 


32-bit 


32-bits 


36-bits 


4 


1 


<1* 


486SLC, SLC2 


1 6-bit 


1 6-bits 


1 8-bits 


2 


<1* 


<1* 


486SX, DX, 


32-bit 


32-bits 


36-bits 


4 


1 


<1* 


DX2, DX4 














Pentium 


64-bit 


64-bits 


72-bits 


8 


2 


1 


Pentium Pro 


64-bit 


64-bits 


72-bits 


8 


2 


1 



I* 
n 

3 

r\ 

o 

3 

•a 
o 

3 
(6 

3 



* - In these cases a single SIMM or DIMM constitutes multiple banks of memory. 



The number of bits for each bank can be made up of single chips, SIMMs, or DIMMs. For 
example, in a 286 system that would use an 18-bit bank, you could make up a bank of 18 
individual 1-bit-wide chips, or you could use four individual 4-bit-wide chips to make up 
the data bits, and two individual 1-bit-wide chips for the parity bits. Most modern sys- 
tems do not use chips, but instead use SIMMs. If the system has an 18-bit bank, it likely 
would use 30-pin SIMMs and have two SIMMs per bank. All the SIMMs in a single bank 
must be the same size and type. As you can see, the 30-pin SIMMs are less than ideal for 



280 



Chapter 7 — Memory 



32-bit systems because you must use them in increments of four per bank! Because these 
SIMMs are available in 1M and 4M capacities today, this means that a single bank has to 
be 4M or 16M of memory, with no in-between amounts. Using 30-pin SIMMs in 32-bit 
systems artificially constricts memory configurations and such systems are not recom- 
mended. If a 32-bit system uses 72-pin SIMMs, each SIMM represents a separate bank, 
and the SIMMs can be added or removed on an individual basis rather than in groups of 
four. This makes memory configuration much easier and more flexible. 

Many of the newer systems now use the 168-pin DIMM devices. These are 64 bits with- 
out parity, and 72 bits each with parity. The devices are used on Pentium and Pentium 
Pro systems only, where they function as a single bank. 

Older systems often used individual chips. For example, the IBM PC Type 2 and XT Type 
1 motherboard contains four banks of memory labeled Bank 0, 1, 2, and 3. Each bank 
uses nine 64K-by-l-bit chips. The total number of chips present is 4 times 9, or 36 chips, 
organized as shown in figure 7.19. 



Left Side 
Bank 3 Bank 2 Bank 1 BankO \ 


P 
P 
P 
P 












1 
1 
1 
1 




2 

2 

2 

2 
F 


: l 


3 

3 

3 

3 
or 


11 


4 
4 
4 
4 




5 
5 
5 
5 




6 
6 
6 

6 




7 
7 
7 
7 




\ 



Top View of System Board 



Figure 7.19 

A memory bank on a PC Type 2 or XT Type 1 motherboard. 

This layout is used in many older 8-bit motherboards, including the Type 1 and 2 PC 
motherboards and the Type 1 and 2 XT motherboards. Most PC or XT clones also fol- 
lowed this scheme. Note that the parity chip is the leftmost chip in each bank on the XT 
motherboard. 

The physical orientation used on a motherboard or memory card is arbitrary and deter- 
mined by the board's designers. Documentation covering your system or card comes in 
very handy. You can determine the layout of a motherboard or adapter card through 
testing, but this takes time and may be difficult, particularly after you have a problem 
with a system. 



Physical Memory 281 

Parity Checking 

One standard IBM has set for the industry is that the memory chips in a bank of nine 
each handle one bit of data: eight bits per character plus one extra bit called the parity 
bit. The parity bit enables memory-control circuitry to keep tabs on the other eight bits — 
a built-in cross-check for the integrity of each byte in the system. If the circuitry detects 
an error, the computer stops and displays a message informing you of the malfunction. 
Some modern SIMMs have only three chips, however, with each chip handling three of 
the nine bits. 

IBM established the odd parity standard for error checking. The following explanation 
may help you understand what is meant by odd parity. As the eight individual bits in a 
byte are stored in memory, a special chip called a 74LS280 parity generator/checker on the 
motherboard (or memory card) evaluates the data bits by counting the number of Is in 
the byte. If an even number of Is is in the byte, the parity generator/checker chip creates 
a 1 and stores it as the ninth bit (parity bit) in the parity memory chip. That makes the 
total sum for all nine bits an odd number. If the original sum of the eight data bits is an 
odd number, the parity bit created is 0, keeping the 9-bit sum an odd number. The value 
of the parity bit is always chosen so that the sum of all nine bits (eight data bits plus one 
parity bit) is an odd number. Remember that the eight data bits in a byte are numbered 
12 3 4 5 6 7. The following examples may make it easier to understand: 

Data bit number: 1 2 3 4 5 6 7 Parity bit *S 

Data bit value: 10 110 110 Jf 

In this example, because the total number of data bits with a value of 1 is an odd num- ^ 

ber (5), the parity bit must have a value of to ensure an odd sum for all nine bits. 2 

The following is another example: q 

3 

Data bit number: 1 2 3 4 5 6 7 Parity bit § 

Data bit value: 110 111 J* 

In this example, because the total number of data bits with a value of 1 is an even num- 
ber (4), the parity bit must have a value of 1 to create an odd sum for all nine bits. 

When the system reads memory back from storage, it checks the parity information. 
If a (9-bit) byte has an even number of bits with a parity bit value of 1, that byte must 
have an error. The system cannot tell which bit has changed, or if only a single bit has 
changed. If three bits changed, for example, the byte still flags a parity-check error; if two 
bits changed, however, the bad byte may pass unnoticed. The following examples show 
parity-check messages for three types of systems: 

RITY CHECK X 

(z) 



For the IBM PC: 


PARITY CHECK X 




For the IBM XT: 


PARITY CHECK X 


yyyyy 


For the IBM AT and late model XT: 


PARITY CHECK X 


yyyyy 



Where x is 1 or 2: 

1 = Error occurred on the motherboard 

2 = Error occurred in an expansion slot 




t/» 



282 Chapter 7 — Memory 



yyyy represents a number from 00000 through FFFFF that indicates, in hexadecimal nota- 
tion, the byte in which the error has occurred. 

Where (z) is (S) or (e): 

(S) = Parity error occurred in the system unit 

= Parity error occurred in the expansion chassis 



An expansion chassis was an option IBM sold for the original PC and XT systems to add more 
expansion slots. This unit consisted of a backplane motherboard with eight slots, one of which 
contained a special extender/receiver card cabled to a similar extender/receiver card placed in the 
main system. Due to the extender/receiver cards in the main system and the expansion chassis, the 
net gain was six slots. 



When a parity-check error is detected, the motherboard parity-checking circuits generate 
a non-maskable interrupt (NMI), which halts processing and diverts the system's attention 
to the error. The NMI causes a routine in the ROM to be executed. The routine clears the 
screen and then displays a message in the upper left corner of the screen. The message 
differs depending on the type of computer system. On some older IBM systems, the ROM 
parity-check routine halts the CPU. In such a case, the system locks up, and you must 
perform a hardware reset or a power-off/power-on cycle to restart the system. Unfortu- 
nately, all unsaved work is lost in the process. (An NMI is a system warning that software 
cannot ignore.) 

Most systems do not halt the CPU when a parity error is detected; instead, they offer you 
a choice of either rebooting the system or continuing as though nothing happened. 
Additionally, these systems may display the parity error message in a different format 
from IBM, although the information presented is basically the same. For example, many 
systems with a Phoenix BIOS display these messages: 

Memory parity interrupt at xxxx:xxxx 

Type (S)hut off NMI, Type (R)eboot, other keys to continue 

or 

1/0 card parity interrupt at xxxxixxxx 

Type (S)hut off NMI, Type (R)eboot, other keys to continue 

The first of these two messages indicates a motherboard parity error (Parity Check 1), and 
the second indicates an expansion-slot parity error (Parity Check 2). Notice that the ad- 
dress given in the form xxxx-.xxxx for the memory error is in a segment:offset form rather 
than a straight linear address such as with IBM's error messages. The segmentoffset ad- 
dress form still gives you the location of the error to a resolution of a single byte. 

Note that you have three ways to proceed after viewing this error message. You can press 
S, which shuts off parity checking and resumes system operation at the point where the 
parity check first occurred. Pressing R forces the system to reboot, losing any unsaved 



Physical Memory 283 

work. Pressing any other key causes the system to resume operation with parity checking 
still enabled. If the problem recurs, it is likely to cause another parity-check interruption. 
In most cases, it is most prudent to press S, which disables the parity checking so that 
you can then save your work. It would be best in this case to save your work to a floppy 
disk to prevent the possible corruption of a hard disk. You should also avoid overwriting 
any previous (still good) versions of whatever file you are saving, because in fact you may 
be saving a bad file due to the memory corruption. Because parity checking is now dis- 
abled, your save operations will not be interrupted. Then you should power the system 
off, restart it, and run whatever memory diagnostics software you have to try and track 
down the error. In some cases, the POST finds the error on the next restart, but in most 
cases you need to run a more sophisticated diagnostics program, perhaps in a continuous 
mode, to locate the error. 

The AMI BIOS displays the parity error messages in the following forms: 

ON BOARD PARITY ERROR ADDR (HEX) = (xxxxx) 

or 

OFF BOARD PARITY ERROR ADDR (HEX) = (xxxxx) 

These messages indicate that an error in memory has occurred during the POST, and the 

failure is located at the address indicated. The first one indicates the error occurred on w» 

the motherboard, whereas the second message indicates an error in an expansion slot & 

adapter card. The AMI BIOS also can display memory errors in the following manner: 3 

Memory Parity Error at xxxxx Q 

or -q 

O 

I/O Card Parity Error at xxxxx 5 

CD 

3 

These messages indicate that an error in memory has occurred at the indicated address J" 

during normal operation. The first one indicates a motherboard memory error, and the 

second indicates an expansion slot adapter memory error. 

Although many systems enable you to continue processing after a parity error, and even 
allow for the disabling of further parity checking, continuing to use your system after a 
parity error is detected can be dangerous if misused. The idea behind letting you con- 
tinue using either method is to give you time to save any unsaved work before you diag- 
nose and service the computer, but be careful how you do this. 



Caution 



When you are notified of a memory parity error, remember the parity check is telling you that 
memory has been corrupted. Do you want to save potentially corrupted data over the good file 
from the last time you saved? Definitely not! Make sure that you save your work to a different file 
name. In addition, after a parity error, save only to a floppy disk if possible and avoid writing to the 
hard disk; there is a slight chance that the hard drive could become corrupted if you save the 
contents of corrupted memory. 




284 Chapter 7 — Memory 



After saving your work, determine the cause of the parity error and repair the system. 
You may be tempted to use an option to shut off further parity checking and simply 
continue using the system as if nothing were wrong. Doing so resembles unscrewing the 
oil pressure warning indicator bulb on a car with an oil leak so that the oil pressure light 
won't bother you anymore! 

IBM PS/2 systems have a slightly different way of communicating parity-check errors 
than the older IBM systems. To indicate motherboard parity errors, the message looks 
like this: 

110 

xxxxx 

To indicate parity errors from an expansion slot, the message looks like this: 

111 



In these messages, the xxxxx indicates the address of the parity error. As with most IBM 
systems, the system is halted after these messages are displayed, thus eliminating any 
possibility of saving work. 

Single In Line Memory Modules (SIMMs) 

For memory storage, most modern systems have adopted the single in-line memory 
module (SIMM) as an alternative to individual memory chips. These small boards plug 
into special connectors on a motherboard or memory card. The individual memory chips 
are soldered to the SIMM, so removing and replacing individual memory chips is impos- 
sible. Instead, you must replace the entire SIMM if any part of it fails. The SIMM is 
treated as though it were one large memory chip. 

IBM compatibles have two main physical types of SIMMs — 30-pin (9 bits) and 72-pin 
(36 bits) — with various capacities and other specifications. The 30-pin SIMMs are smaller 
than the 72-pin versions, and may have chips on either one or both sides. SIMMs are 
available both with and without parity bits. Until recently, all IBM-compatible systems 
used parity checked memory to ensure accuracy. Other non-IBM-compatible systems like 
the Apple Macintosh have never used parity checked memory. For example, Apple com- 
puters use the same 30-pin or 72-pin SIMMs as IBM systems, but Apple computers as a 
rule do not have parity checking circuitry, so they can use slightly cheaper 30-pin SIMMs 
that are only eight bits wide instead of nine bits (eight data bits plus one parity bit) as is 
required on most IBM-compatible systems. They also can use 72-pin SIMMs that are only 
32-bits wide rather than 36-bits (32 data bits plus four parity bits) as is required on most 
IBM compatibles. You can use the parity SIMMs in Apple systems; they will simply ig- 
nore the extra bits. If you use non-parity SIMMs in an IBM compatible that requires par- 
ity checked memory, you instantly get memory errors, and the system cannot operate. 
If you service both IBM and Apple systems, you could simply stock only parity SIMMs 
because they can be used in either system. 

Recently, a disturbing trend has developed in the IBM-compatible marketplace. Some of 
the larger vendors have been shipping systems with parity checking disabled! These 



*5 



Physical Memory 285 

systems can use slightly cheaper non-parity SIMMs like the Apple systems. The savings 
amounts to about $10 per 4M SIMM, which can result in a savings to the manufacturer 
of about $20 for a typical 8M configuration. Because most buyers have no idea that the 
parity checking has been taken away (how often have you seen an ad that says "now 
featuring NO PARITY CHECKING!"), the manufacturer can sell its system that much 
cheaper. Because several of the big names have started selling systems without parity, 
most of the others have been forced to follow to remain price competitive. Because no- 
body wants to announce this information, it has remained as a sort of dirty little secret 
within the industry! What is amazing is that the 386 and higher processors all contain 
the parity circuitry within them, so no additional circuits are needed on the mother 
board. It is solely the cost of the parity chips on the SIMMs that is being saved. 

How can they do this? Well, most newer motherboards have a method by which parity 
checking can be disabled to accommodate non-parity SIMMs. Most older motherboards 
absolutely required parity SIMMs because there was no way to disable the parity check- 
ing. Some newer motherboards have a jumper to enable or disable the parity circuitry. 
Some include this as a SETUP option, and some systems check the memory for parity bits 
and if they are not detected in all banks, parity checking is automatically disabled. In 
these systems, installing a single non-parity SIMM normally causes parity checking to be 
disabled for all memory. I have often found parity checking to be the first alert to system 
problems, so I am not thrilled that virtually all newer systems come with non-parity 
SIMMs. Fortunately, this can be rectified by specifying parity SIMMs when you order a 
new machine. If you don't specify parity SIMMs, then surely you will get the cheaper a 

non-parity versions. Also make sure that your motherboard has parity checking enabled ^ 

as well, because most are not coming configured with it enabled. 2 

•Q 

Unfortunately, there are now many systems that do not even support parity checking at o 

all. In fact, all Pentium systems based on the Intel Triton chipset cannot ever implement n 

parity checking because support for parity is not found in the chipset. That basically if 

rules these systems out for mission critical applications where parity is a necessity. Intel 
is working on a new Triton II chipset that will not only implement parity, but even bet- 
ter ECC (Error Correcting Code) memory as well. 

Figures 7.20 and 7.21 show typical 30-pin (9-bit) and 72-pin (36-bit) SIMMs, respectively. 
The pins are numbered from left to right and are connected through to both sides of the 
module. Notice that all dimensions are in inches and millimeters (in parentheses). 

A SIMM is extremely compact considering the amount of memory it holds. SIMMs are 
available in several capacities, depending on the version. Table 7.6 lists the different 
capacities available for both the 30-pin and 72-pin SIMMs. 

Dynamic RAM SIMMs of each type and capacity are available in different speed ratings. 
These ratings are expressed in nanoseconds (billion ths of a second, abbreviated ns). 
SIMMs have been available in many different speed ratings ranging from 120ns for some 
of the slowest, to 50ns for some of the fastest available. Many of the first systems to use 
SIMMs used versions rated at 120ns. These were quickly replaced in the market by 100ns 
and even faster versions. Today, you can generally purchase SIMMs rated at 80ns, 70ns, 
or 60ns. Both faster and slower ones are available, but they are not frequently required 




286 



Chapter 7 — Memory 



.250 (6.35) 
TYP. 



t 



3.505 (89.03) 



3.495 (88.77) 



© 



D D 

/ / / 



D D D 

/ / < 



© 



.653(16.59) 
.647(16.43) 



-.133(3.38) 
TYP. 



.400(10.16) 
TYP. 



L .080 (2.03) 



PIN 1 



TYP. 



.100(2.54) -*- 
TYP. 



-.200 (5.08) 
MAX. 



.055(1.40) 
-070(1.78) Q47 [ r , g > 



Figure 7.20 

A typical 30-pin (9-bit) SIMM. 



4.25(107.95) 




.125a 



mrriiiimmmrm^^ ~ f i Y i mMrrrmiiin 



■PIN 1 

- 1 .75 (44.45) ■ 



.080 (2.03) 



0.25 
(6.35) 



-.050 (1 .27) 



- 3.75 (95.25) - 



0.35 (8.89) 
| MAX. 



II 



i 1 



.235 
(5.97) 
TYP. 



c 



055 (1 .40) 
047(1.19) 



Figure 7.21 

A typical 72-pin (36-bit) SIMM. 



Table 7.6 SIMM Capacities 



30-pin SIMM Capacities 
Capacity Parity SIMM 



Non-Parity SIMM 



256K 


256Kx9 


256Kx8 


1M 


1Mx9 


1Mx8 


4M 


4Mx9 


4Mx8 


16M 


16M x9 


16M x8 



72-pin SIMM Capacities 
Capacity Parity SIMM 



Non-Parity SIMM 



1M 
2M 



256Kx 36 
512Kx36 



256Kx 32 
512Kx32 



Physical Memory 



287 



72-pin 


SIMM 


Capacities 






Capacity 




Parity SIMM 


Non-Pai 


4M 






1Mx 36 


1Mx 32 


8M 






2Mx 36 


2Mx 32 


16M 






4Mx 36 


4Mx 32 


32M 






8Mx 36 


8Mx 32 


64 M 






16Mx 36 


16Mx 32 


128M 






32M x 36 


32M x 32 



and are difficult to obtain. If a system requires a specific speed, you can almost always 
substitute faster speeds if the one specified is not available. There are no problems in 
mixing SIMM speeds, as long as you use SIMMs equal to or faster than what the system 
requires. Because often very little price difference exists between the different speed ver- 
sions, I usually buy faster SIMMs than are needed for a particular application, as this may 
make them more usable in a future system that may require the faster speed. 

Several variations on the 30-pin SIMMs can affect how they work (if at all) in a particular 
system. First, there are actually two variations on the pinout configurations. Most sys- 
tems use a generic type of SIMM, which has an industry standard pin configuration. 
Many older IBM systems used a slightly modified 30-pin SIMM, starting with the XT-286 
introduced in 1986 through the PS/2 Model 25, 30, 50, and 60. These systems require a 
SIMM with different signals on five of the pins. These are known as IBM-style 30-pin 
SIMMs. You can modify a generic 30-pin SIMM to work in the IBM systems and vice 
versa, but purchasing a SIMM with the correct pinouts is much easier. Be sure you iden- 
tify to the SIMM vendor if you need the specific IBM-style versions. 

Another issue with respect to the 30-pin SIMMs relates to the chip count. The SIMM 
itself acts as if it were a single chip of 9-bits wide (with parity), and it really does not 
matter how this total is derived. Older SIMMs were constructed with nine individual 
1-bit-wide chips to make up the total, whereas many newer SIMMs use two 4-bit-wide 
chips and one 1 -bit-wide chip for parity, making a total of three chips on the SIMM. 
Accessing the 3-chip SIMMs can require adjustments to the refresh timing circuits on the 
motherboard, and many older motherboards cannot cope. Most newer motherboards 
automatically handle the slightly different refresh timing of both the 3-chip or 9-chip 
SIMMs, and in this case the 3-chip versions are more reliable, use less power, and gener- 
ally cost less as well. If you have an older system, most likely it will also work with the 
3-chip SIMMs, but some do not. Unfortunately, the only way to know is to try them. 
To prevent the additional time required to change them for 9-chip versions should the 
3-chip versions not work in an older system, it seems prudent to recommend sticking 
with the 9-chip variety in any older systems. 

The 72-pin SIMMs do not have different pinouts and are differentiated only by capacity 
and speed. These SIMMs are not affected by the number of chips on them. The 72-pin 
SIMMs are ideal for 32-bit systems like 486 machines because they comprise an entire 
bank of memory (32 data bits plus 4 parity bits). When you configure a system that uses 
a 72-pin SIMM, you can usually add or remove memory in single SIMM modules (except 
on systems that use interleaved memory schemes to reduce wait states). The 30-pin 




(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



288 Chapter 7 — Memory 



SIMMs are clumsy when used in a system with a 32-bit memory architecture because 
these SIMMs must be added or removed in quantities of four to make up a complete 
bank. A 386SX or a 286 system would require only two 9-bit SIMMs for a single bank of 
memory so the 30-pin SIMMs are a better match. 

Remember that some 486 systems (such as the PS/2 90 and 95 systems) use interleaved 
memory to reduce wait states. This requires a multiple of two 36-bit SIMMs because in- 
terleaved memory accesses are alternated between the SIMMs to improve performance. 



A bank is the smallest amount of memory that can be addressed by the processor at one time and 
usually corresponds to the data bus width of the processor. If the memory is interleaved, a virtual 
bank may be twice the absolute data bus width of the processor. 



You cannot always replace a SIMM with a greater capacity unit and expect it to work. For 
example, the IBM PS/2 Model 70-Axx and Bxx systems accept 72-pin SIMMs of 1M or 2M 
capacity, which are 80ns or faster. Although an 80ns 4M SIMM is available, it does not 
work in these systems. The PS/2 Model 55 SX and 65 SX, however, accept 1M, 2M, or 4M 
72-pin SIMMs. A larger capacity SIMM works only if the motherboard is designed to 
accept it in the first place. Consult your system documentation to determine the correct 
capacity and speed to use. 

SIMMs were designed to eliminate chip creep, which plagues systems with memory chips 
installed in sockets. Chip creep occurs when a chip works its way out of its socket, caused 
by the normal thermal expansion and contraction from powering a system on and off. 
Eventually, chip creep leads to poor contact between the chip leads and the socket, and 
memory errors and problems begin. 

The original solution for chip creep was to solder all the memory chips to the printed 
circuit board. This approach, however, was impractical. Memory chips fail more fre- 
quently than most other types of chips and soldering chips to the board made the units 
difficult to service. 

The SIMM incorporates the best compromise between socketed and soldered chips. The 
chips are soldered to the SIMM, but you can replace the socketed SIMM module easily. In 
addition, the SIMM is held tight to the motherboard by a locking mechanism that does 
not work loose from contraction and expansion, but is easy for you to loosen. This solu- 
tion is a good one, but it can increase repair costs. You must replace what amounts to in 
some cases an entire bank rather than one defective chip. 

For example, if you have a 486DX4 with one 60ns 8M SIMM that goes bad, you could 
replace it for about $250 or less from chip suppliers who advertise in the computer maga- 
zines. This is certainly more expensive than replacing a single 25 6K by 1-bit chip costing 
about $2 each. Of course, 8M SIMMs are used on systems never designed for single chips. 
It would take 288 256K-by-l-bit chips to equal the memory storage of one 8M SIMM. 
Troubleshooting a problem with a single SIMM device is much easier than troubleshoot- 
ing 288 discrete chips. In addition, one SIMM is more reliable than 288 individual chips! 



Physical Memory 



289 



All systems on the market today use SIMMs. Even Apple Macintosh systems use SIMMs. 
The SIMM is not a proprietary memory system, but rather an industry-standard device. 
As mentioned, some SIMMs have slightly different pinouts and specifications other than 
speed and capacity, so be sure that you obtain the correct SIMMs for your system. 

SIMM Pinouts 

Tables 1.1 and 7.8 show the interface connector pinouts for both 30-pin SIMM varieties, 
as well as the standard 72-pin version. Also included is a special presence detect table 
that shows the configuration of the presence detect pins on various 72-pin SIMMs. The 
presence detect pins are used by the motherboard to detect exactly what size and speed 
SIMM is installed. Industry-standard 30-pin SIMMs do not have a presence detect feature, 
but IBM did add this capability to its modified 30-pin configuration. 



Table 7.7 Industry- Standard and IBM 30-Pin SIMM Pinouts 



Pin Standard SIMM Signal Names IBM SIMM Signal Names 

+5 Vdc 

Column Address Strobe 

Data Bit 

Address Bit 

Address Bit 1 

Data Bit 1 

Address Bit 2 

Address Bit 3 

Ground 

Data Bit 2 

Address Bit 4 

Address Bit 5 

Data Bit 3 

Address Bit 6 

Address Bit 7 

Data Bit 4 

Address Bit 8 

Address Bit 9 

Row Address Strobe 1 

Data Bit 5 

Write Enable 

Ground 

Data Bit 6 

Presence Detect (Ground) 

Data Bit 7 

Presence Detect (1 M = Ground) 

Row Address Strobe 



1 


+5 Vdc 


2 


Column Address Strobe 


3 


Data Bit 


4 


Address Bit 


5 


Address Bit 1 


6 


Data Bit 1 


7 


Address Bit 2 


8 


Address Bit 3 


9 


Ground 


10 


Data Bit 2 


11 


Address Bit 4 


12 


Address Bit 5 


13 


Data Bit 3 


14 


Address Bit 6 


15 


Address Bit 7 


16 


Data Bit 4 


17 


Address Bit 8 


18 


Address Bit 9 


19 


Address Bit 10 


20 


Data Bit 5 


21 


Write Enable 


22 


Ground 


23 


Data Bit 6 


24 


No Connection 


25 


Data Bit 7 


26 


Data Bit 8 (Parity) Out 


27 


Row Address Strobe 




(6 

3 

r\ 

o 

3 

•a 
o 

3 
(6 

3 



(continues) 



290 



Chapter 7 — Memory 



Table 7.7 Continued 



Pin Standard SIMM Signal Names IBM SIMM Signal Names 



28 Column Address Strobe Parity 

29 Data Bit 8 (Parity) In 

30 +5 Vdc 



No Connection 
Data Bit 8 (Parity) I/O 
+5 Vdc 



Table 7.8 Standard 72-Pin SIMM Pinout 



Pin SIMM Signal Name 



1 


Ground 


2 


Data Bit 


3 


Data Bit 1 6 


4 


Data Bit 1 


5 


Data Bit 1 7 


6 


Data Bit 2 


7 


Data Bit 1 8 


8 


Data Bit 3 


9 


Data Bit 1 8 


10 


+5 Vdc 


11 


Column Address Strobe Parity 


12 


Address Bit 


13 


Address Bit 1 


14 


Address Bit 2 


15 


Address Bit 3 


16 


Address Bit 4 


17 


Address Bit 5 


18 


Address Bit 6 


19 


Reserved 


20 


Data Bit 4 


21 


Data Bit 20 


22 


Data Bit 5 


23 


Data Bit 21 


24 


Data Bit 6 


25 


Data Bit 22 


26 


Data Bit 7 


27 


Data Bit 23 


28 


Address Bit 7 


29 


Block Select 


30 


+5 Vdc 


31 


Address Bit 8 


32 


Address Bit 9 



Physical Memory 



291 



Pin SIMM Signal Name 



33 


Row Address Strobe 3 


34 


Row Address Strobe 2 


35 


Parity Data Bit 2 


36 


Parity Data Bit 


37 


Parity Data Bit 1 


38 


Parity Data Bit 3 


39 


Ground 


40 


Column Address Strobe 


41 


Column Address Strobe 2 


42 


Column Address Strobe 3 


43 


Column Address Strobe 1 


44 


Row Address Strobe 


45 


Row Address Strobe 1 


46 


Block Select 1 


47 


Write Enable 


48 


Reserved 


49 


Data Bit 8 


50 


Data Bit 24 


51 


Data Bit 9 


52 


Data Bit 25 


53 


Data Bit 1 


54 


Data Bit 26 


55 


Data Bit 1 1 


56 


Data Bit 27 


57 


Data Bit 1 2 


58 


Data Bit 28 


59 


+5Vdc 


60 


Data Bit 29 


61 


Data Bit 1 3 


62 


Data Bit 30 


63 


Data Bit 14 


64 


Data Bit 31 


65 


Data Bit 1 5 


66 


Block Select 2 


67 


Presence Detect Bit 


68 


Presence Detect Bit 1 


69 


Presence Detect Bit 2 


70 


Presence Detect Bit 3 


71 


Block Select 3 


72 


Ground 




*5 

(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



292 



Chapter 7 — Memory 



Notice that the 72-pin SIMMs employ a set of four pins to indicate the type of SIMM to 
the motherboard. These presence detect pins are either grounded or not connected to 
indicate the type of SIMM to the motherboard. This is very similar to the industry- 
standard DX code used on modern 35mm film rolls to indicate the ASA (speed) rating of 
the film to the camera. Unfortunately, unlike the film standards, the presence detect 
signaling is not a standard throughout the PC industry. Different system manufacturers 
sometimes use different configurations for what is expected on these four pins. Table 7.9 
shows how IBM defines these pins. 



Table 7.9 72-Pin SIMM Presence Detect Pins 



70 


69 


68 


67 


SIMM Type 


IBM Part Number 


- 


- 


- 


- 


Not a valid SIMM 


N/A 


- 


- 


- 


Cnd 


1MB 120ns 


N/A 


- 


- 


Cnd 


- 


2MB 120ns 


N/A 


- 


- 


Cnd 


Gnd 


2MB 70ns 


92F0102 


- 


Cnd 


- 


- 


8MB 70ns 


64 F 3 606 


- 


Cnd 


- 


Cnd 


Reserved 


N/A 


- 


Cnd 


Cnd 


- 


2MB 80ns 


92F0103 


- 


Cnd 


Cnd 


Gnd 


8MB 80ns 


64F3607 


Cnd 


- 


- 


- 


Reserved 


N/A 


Cnd 


- 


- 


Cnd 


1MB 85ns 


90X8624 


Cnd 


- 


Cnd 


- 


2MB 85ns 


92F0104 


Cnd 


- 


Cnd 


Gnd 


4MB 70ns 


92F0105 


Cnd 


Cnd 


- 


- 


4MB 85ns 


79F1003 (square notch) L40-SX 


Cnd 


Cnd 


- 


Cnd 


1MB 100ns 


N/A 


Cnd 


Cnd 


- 


Gnd 


8MB 80ns 


79F1004 (square notch) L40-SX 


Cnd 


Cnd 


Cnd 


- 


2MB 100ns 


N/A 


Cnd 


Cnd 


Cnd 


Cnd 


4MB 80ns 


87F9980 


Gnd 


Gnd 


Gnd 


Gnd 


2MB 85ns 


79F1003 (square notch) L40SX 



- = No Connection (open) 
Gnd = Ground 

Pin 67 = Presence detect bit 
Pin 68 = Presence detect bit 1 
Pin 69 = Presence detect bit 2 
Pin 70 = Presence detect bit 3 



RAM Chip Speed 

Memory-chip speed is reported in nanoseconds (ns). (One nanosecond is the time that 
light takes to travel 11.72 inches.) PC memory speeds vary from about 10ns to 200ns. 
When you replace a failed memory module, you must install a module of the same type 
and speed as the failed module. You can substitute a chip with a different speed only if 
the speed of the replacement chip is equal to or faster than that of the failed chip. 



Upgrading by Increasing System Memory 293 

Some people have had problems when "mixing" chips because they used a chip that did 
not meet the minimum required specifications (for example, refresh timing specifica- 
tions) or was incompatible in pinout, depth, width, or design. Chip access time always 
can be less (that is, faster) as long as your chip is the correct type and meets all other 
specifications. 

Substituting faster memory usually doesn't provide improved performance because the 
system still operates the memory at the same speed. In systems not engineered with a 
great deal of "forgiveness" in the timing between memory and system, however, substi- 
tuting faster memory chips might improve reliability. 

The same common symptoms result when the system memory has failed or is simply not 
fast enough for the system's timing. The usual symptoms are frequent parity-check errors 
or a system that does not operate at all. The POST also might report errors. If you're un- 
sure of what chips to buy for your system, contact the system manufacturer or a repu- 
table chip supplier. 

EDO RAM 

There is a new type of memory being offered for Pentium systems today called EDO (Ex- 
tended Data Out) RAM. These are 72-pin SIMMs with specially manufactured chips that 
allow for a timing overlap between successive accesses. This allows for a tighter coupled 
access cycle and a performance improvement of 20 percent or so over regular non-EDO *< 

SIMMs. EDO RAM is ideal for systems with bus speeds of up to 66 MHz, which fits per- J 

fectly with the current and future Pentium and P6 processor architectures. 3 

To actually utilize EDO memory, your motherboard chipset must support it. Currently, 



these chips cost the same to manufacture as standard chips, the market has jumped on 
the EDO bandwagon, and virtually all new chipsets will be supporting it. Due to supply 
constraints, expect to pay more for EDO RAM than standard SIMMs, even though the 
production costs are not that much higher. 

Upgrading by Increasing System Memory 

Adding memory to a system is one of the most useful upgrades that you can perform and 
also one of the least expensive, especially when you consider the increased capabilities of 
DOS, Microsoft Windows, and OS/2 when you give them access to more memory. In 
some cases, doubling the memory can virtually double the speed of a computer. 

Memory chips come in different shapes and sizes, yet all memory chips in which you are 
interested are called DRAM, or dynamic random-access memory. DRAM chips are the 
most common type of memory. These chips are considered to be dynamic because they 
need to be energized hundreds of times per second to hold information. If you shut off 
the power, the information is lost. 

This section discusses adding memory, including selecting memory chips, installing 
memory chips, and testing the installation. 




o 

chipsets like the Intel Triton, Opti Viper, and ALI Aladdin offer support for EDO. Because ^ 

O 
3 
(6 

3 



294 Chapter 7 — Memory 



Upgrade Strategies 

Adding memory can be an inexpensive solution; at this writing, the cost of memory has 
fallen to about $15 per megabyte. A small dose can give your computer's performance a 
big boost. 

How do you add memory to your PC? You have three options, listed in order of conve- 
nience and cost: 

■ Adding memory in vacant slots on your motherboard. 

■ Replacing your current motherboard's memory with higher-capacity memory. 

■ Purchasing a memory expansion card. 

Adding expanded memory to PC- or XT-type systems is not a good idea, mainly because 
an expanded memory board with a couple of megabytes of expanded memory installed 
can cost more than the entire system is worth. Also, this memory does not function for 
Windows, and a PC- or XT-class system cannot run OS/2. Instead, purchase a more pow- 
erful system — for example, an inexpensive 486SX — with greater expansion capabilities. 

If you decide to upgrade to a more powerful computer system, you normally cannot 
salvage the memory from a PC or XT system. The 8-bit memory boards are useless in AT 
and Micro Channel systems, and the speed of the memory chips usually is inadequate 
for newer systems. Many new systems use high-speed SIMM modules rather than chips. 
A pile of 150ns (nanoseconds), 64K or 256K chips is useless if your next system is a high- 
speed system that uses SIMMs or memory devices faster than 70ns. 

Be sure to weigh carefully your future needs for computing speed and for a multitasking 
operating system (OS/2, for example) with the amount of money that you spend to up- 
grade current equipment. 

Adding Motherboard Memory 

This section discusses motherboard memory — the memory actually installed on the 
motherboard — rather than the memory that resides on adapter boards. The first part of 
this section presents recommendations on selecting and installing chips. The last part of 
the section provides instructions for modifying an IBM XT Type 1 motherboard. This 
modification enables you to place a full 640K of memory on the motherboard, eliminat- 
ing the need for memory-expansion boards. IBM's more recent XT Type 2 motherboards 
already include this modification. 

Selecting and Installing Memory Chips or SIMMs 

If you are upgrading a motherboard by adding memory, follow the manufacturer's guide- 
lines on which memory chips or modules to purchase. As you learn in this chapter, 
memory comes in various form factors, including individual chips known as DIP (dual 
in-line pin) memory chips, SIMMs (single in-line memory modules), and SIPPs (single 
in-line pin packages). Your computer may use one or possibly a mixture of these form 
factors. 



*5 



Adding Motherboard Memory 295 

The maker of your computer's motherboard determines what type of memory chips are 
used. The following list describes each chip or module type: 

■ DIPs. Early computers used DIP (dual in-line pin) memory chips. A DIP memory 
chip is a rectangular chip that has 16 metal legs, eight on each side. To install such 
a memory chip, you must plug it in place. DIP chips are installed in multiples of 
nine. For example, you must install 36 separate 256-kilobit chips to acquire 1M of 
memory. Sometimes, the DIPs are permanently soldered to your motherboard. 

■ SIMMs. Single in-line memory modules are like small circuit boards with chips 
soldered on them. Different numbers of chips can be mounted on the SIMM, and 
the chips can be mounted on one or both sides of the SIMM. A SIMM has a row of 
contacts on one edge of the board. The contacts can be tin- or gold-plated. SIMMs 
are retained in the system by special sockets with positive latching mechanisms 
that lock the SIMMs in place. SIMM connectors use a high-force wiping contact 
that is extremely resistant to corrosion. 

SIMMs are available in two types — 30-pin and 72-pin. The 30-pin modules come in 
9-bit form with parity or 8-bit form for systems that lack parity checking. The 72- 
pin SIMMs are 36 bits wide with parity (32 data bits and four parity bits), or 32 bits 
wide without parity. Notice that the 9-bit and 36-bit SIMMs with parity always can 
be used in systems that lack parity checking and that the nonparity SIMMs cannot 
be used in normal systems that require parity bits. Systems that lack parity check- 
ing for memory are not recommended. a 

■ SIPPs. Single in-line pin packages, sometimes called SIP, really are SIMMs with pins q 
rather than contacts. The pins are designed to be installed in a long connector 

socket that is much cheaper than the standard SIMM socket. SIPPs are inferior to o 

SIMMs because they lack the positive latching mechanism that retains the module, jp 

and the connector lacks the high-force wiping contacts that resist corrosion. SIPPs 
are rarely used today. 

No matter what type of memory chips you have, the chips are installed in memory 
banks. A memory bank is a collection of memory chips that make up a block of memory. 
Each bank of memory is read by your processor in one pass. A memory bank does not 
work unless it is filled with memory chips. 

Early 8088, 8086, and 286 PCs have four memory banks that are nine chips wide. These 
memory banks may be labeled through 3 or A through D. The first eight chips are for 
holding data. The ninth chip is a parity chip meant to ensure that the numbers of the 
other eight are correct. Each chip is measured in bits, and eight chips make up a byte. 
Imagine that you had the first two banks full of 256-kilobit chips. How much memory 
is that? Well, 18 chips (9 chips x 2 banks) of 256-kilobit memory equals 512K. 

286 computers usually can take four banks of 256-kilobit chips to make 1,024K (1M). 
Some 286 computers can handle up to 4M on the motherboard, using 1M chips. In 
386SX-based computers, four memory banks are used, requiring 18 chips (16 plus two for 
parity), or in most cases two 30-pin (8- or 9-bit) SIMMs each. 386DX and 486 computers 




3 



296 Chapter 7 — Memory 



often have between two and four memory banks, each bank using four 30-pin (8- or 9- 
bit) SIMMs or one 72-pin (32- or 36-bit) SIMM. Pentium computers also normally have 
between two and four banks of memory, but each bank usually requires two 72-pin (32- 
or 36-bit) SIMMs. 

Installing extra memory on your motherboard is an easy way to add memory to your 
computer. Most systems have at least one vacant memory bank in which you can install 
extra memory and use it to speed your computer. 

RAM-Chip Type (Capacity). Individual RAM chips come in different capacities. The 
capacity determines the number of data bits that can be stored in a chip of a particular 
size. For example, RAM chips for the original IBM PC store 16 kilobits of data; these RAM 
chips are the smallest used in any IBM-compatible system. The RAM chips for the origi- 
nal version of the IBM XT store 64 kilobits of data. The standard chip for Pentium based 
systems today is the 4M bit or 16M bit chip (usually found in SIMMs). 

Before you add RAM to a system (or replace defective RAM chips), you must determine 
the memory chips required for your system. Your system documentation contains this 
information. 

If you need to replace a defective RAM chip and do not have the system documentation, 
you can determine the correct chip for your system by inspecting the chips that are al- 
ready installed. Each chip has markings that indicate the chip's capacity and speed. 
The following table lists the markings on individual 1M chips produced by various 
companies: 

Markings Manufacturer 



TMS4C1024N/DJ 


Texas Instruments 


HM511000AP/AJP/AZP 


Hitachi 


MB81C1000P/PJ/PSZ 


Fujitsu 



If you do not have the documentation for your system and the manufacturer does not 
offer technical support, open your system case and carefully write down the markings 
that appear on your memory chips. Then contact a local computer store or mail-order 
chip vendor for help in determining the proper RAM chips for your system. Adding the 
wrong RAM chips to a system can make it as unreliable as leaving a defective chip on the 
motherboard and trying to use the system in that condition. 

RAM-Chip Speed. RAM chips also come in various speeds. For example, 80ns or slower 
chips are used in older systems, and 60ns or 70ns chips are used in fast 486- and 
Pentium-based systems. 

The motherboard manufacturer determines the correct speed of the memory chips in- 
stalled in each system. IBM, for example, specifies different speed memory for different 
systems. Table 7.10 lists the required RAM-chip speeds and wait states for IBM 
motherboards. 



Adding Motherboard Memory 



297 



Table 7.10 IBM Motherboard Memory Timing 



System 


CPU 


Clock 
Speed 

(MHz) 


Wait 
States 


Memory- 
Access 
Time (ns) 


Notes 


PC 


8088 


4.77 


1 


200 




XT 


8088 


4.77 


1 


200 




AT 


286 


6 


1 


150 




AT 


286 


8 


1 


150 




XT-286 


286 


6 





150 


Zero wait 


PS/1 


286 


10 


1 


120 




25 


8086 


8 





150 


Zero wait 


30 


8086 


8 





150 


Zero wait 


25-286 


286 


10 


1 


120 




30-286 


286 


10 


1 


120 




35 SX 


386SX 


20 


0-2 


85 


Paged memory 


40 SX 


386SX 


20 


0-2 


85 


Paged memory 


L40 


386SX 


20 


0-2 


80 


Paged memory 


50 


286 


10 


1 


150 




50Z 


286 


10 





85 


Zero wait 


53 486SLC2 


486SLC2 


50 


0-2 


70 


Interleaved memory, 
internal 16K cache 


55 SX 


386SX 


16 


0-2 


100 


Paged memory 


56 486SLC3 


486SLC3 


75 


0-2 


70 


Interleaved memory, 
internal 16K cache 


57 SX 


386SX 


20 


0-2 


70 


Paged memory 


57 486SLC3 


486SLC3 


75 


0-2 


70 


Interleaved memory, 
internal 16K cache 


60 


286 


10 


1 


150 




65 


386SX 


16 


0-2 


100 


Paged memory 


70 


386DX 


16 


0-2 


85 


Paged memory 


70 


386DX 


20 


0-2 


85 


Paged memory 


70 


386DX 


25 


0-5 


80 


External 64K cache 


70 


486DX 


25 


0-5 


80 


Internal 8K cache 


P70 


386DX 


16 


0-2 


85 


Paged memory 


P70 


386DX 


20 


0-2 


85 


Paged memory 


P75 


486DX 


33 


0-5 


70 


Internal 8K cache 


76 


486DX2 


66 


0-2 


70 


Interleaved memory, 
internal 8K cache 


76 


486SX 


33 


0-2 


70 


Interleaved memory, 
internal 8K cache 


76 


486DX4 


100 


0-2 


70 


Interleaved memory, 
internal 16K cache 




*5 

(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



(continues) 



298 



Chapter 7 — Memory 



Table 7.10 Continued 



System 


CPU 


Clock 
Speed 

(MHz) 


Wait 
States 


Memory- 
Access 
Time (ns) 


Notes 


77 


486DX2 


66 


0-2 


70 


Interleaved memory, 
internal 8K cache 


77 


486SX 


33 


0-2 


70 


Interleaved memory, 
internal 8K cache 


77 


486DX4 


100 


0-2 


70 


Interleaved memory, 
internal 16K cache 


80 


386DX 


16 


0-2 


80 


Paged memory 


80 


386DX 


20 


0-2 


80 


Paged memory 


80 


386DX 


25 


0-5 


80 


External 64K cache 


90 


486SX 


20 


0-5 


70 


Interleaved memory, 
internal 8K cache 


90 


486SX 


25 


0-5 


70 


Interleaved memory, 
internal 8K cache 


90 


486DX 


25 


0-5 


70 


Interleaved memory, 
internal 8K cache, optional 
external 256K cache 



90 



90 



95 



486DX 



486DX 



33 



50 



0-5 



0-5 



70 



70 



486DX 



50 



0-5 



70 



Interleaved memory, 
internal 8K cache, optional 
external 256K cache 

Interleaved memory, 
internal 8K cache, optional 
external 256K cache 



95 


486SX 


20 


0-5 


70 


Interleaved memory, 
internal 8K cache 


95 


486SX 


25 


0-5 


70 


Interleaved memory, 
internal 8K cache 


95 


486DX 


25 


0-5 


70 


Interleaved memory, 
internal 8K cache, optional 
external 256K cache 


95 


486DX 


33 


0-5 


70 


Interleaved memory, 
internal 8K cache, optional 
external 256K cache 



Interleaved memory, 
internal 8K cache, optional 
external 256K cache 



It won't hurt to install chips that are faster than required for your motherboard or 
memory card; buying faster memory chips can be a boon if you intend to transplant 
them to a faster computer in the future. Unfortunately, the faster memory won't speed 
your computer; your computer's design anticipates working at a certain speed and no 
faster. 

The speed of a memory chip is printed on the surface of the chip. On the memory 
chips — whether they are the DIP, SIPP, or SIMM type — you will find an identifying 



Adding Motherboard Memory 299 

number. The last two digits after the dash ( — ) are especially important, because they 
indicate the speed of your memory. 

In some systems, the motherboard memory speed can be controlled. Systems with ad- 
justable wait-state settings enable you to choose optimal performance by purchasing the 
proper high-speed memory or to choose lower performance by purchasing cheaper 
memory. Many compatibles offer a wait-state jumper or configuration option, which 
controls whether the motherboard runs with wait states. Running with zero wait states 
may require faster access speed memory. 

Other systems can configure themselves dynamically to the memory installed. The PS/2 
Model 90 and 95 system boards check the speeds of the SIMMs installed on the system 
board and adjust the number of wait states accordingly. Most other PS/2 systems simply 
check the speed of SIMMs installed on the system board and flag an error condition if 
the minimum speed requirements are not met. 

Systems that use 72-pin SIMMs can detect both the speed and capacity of the installed 

SIMMs through four special contacts called presence detect pins. The motherboard can use 

these pins to determine the installed SIMM's rated speed and capacity, in much the same 

way that many cameras can tell what speed film you have loaded by "reading" a series of 

contacts on the film canister. In the Model 90 and Model 95, if the SIMM is slower than 

70ns, the system adds wait states so that the rest of the memory can keep up. In other vf 

systems, such as the Model 70, if memory slower than the required 80ns or 85ns is in- jj* 

stalled, a 225 POST error message appears. If you look up this error code in the IBM error- 3 

code list in Appendix A, it says Wrong -speed memory on system board. This error message f> 

means that the installed memory is too slow for the system. 

■o 

Systems with 16 MHz or faster clock speeds require extremely fast memory to keep up § 

with the processor. In fact, the speeds that are required are so excessive that standard 
DRAM typically would be replaced by faster and more expensive static RAM (SRAM). One J* 

alternative — adding wait states to reduce the memory-speed requirements — greatly de- 
creases performance, which is not what you want in a fast system. 

RAM-Chip Architecture. Some special memory-architecture schemes have been devised 
to reduce the number of wait states required, boost overall system performance, and keep 
costs down. The following architecture schemes are most commonly used to increase 
memory performance: 

■ Paged memory 

■ Interleaved memory 

■ Memory caching 

Paged memory is a simple scheme for improving memory performance that divides 
memory into pages ranging from 512 bytes to a few kilobytes long. The paging circuitry 
then enables memory locations within a page to be accessed with zero wait states. If the 
desired memory location is outside the current page, one or more wait states are added 
while the system selects the new page. 




300 Chapter 7 — Memory 



Paged memory has become common in higher-end 286 systems as well as in many 386 
systems. For example, many PS/2 systems, such as the Model 70 and Model 80, use paged 
memory to increase performance so that slower 80ns or 85ns memory can be used. 

Interleaved memory offers greater performance than paged memory. This higher- 
performance scheme combines two banks of memory into one, organized as even and 
odd bytes. With this combination, an access cycle can begin in the second bank while 
the first is already processing a previous access, and vice versa. By alternating access to 
even and odd banks, you can request data from one bank, and while the request is pend- 
ing, the system can move to the next bank to process another request. The first request 
becomes available while the second request is still pending, and so on. By interleaving 
access to memory in this manner, a system can effectively double memory-access perfor- 
mance without using faster memory chips. 

Many of the highest-performance systems use interleaved memory to achieve increased 
performance. Some systems that offer interleaved memory can use the interleaving func- 
tion only if you install banks in matched-capacity pairs, which usually means adding 
two 36-bit SIMMs of equal capacity at a time. If you add only a single bank or add two 
banks of different capacity, the system still functions, but memory interleaving is dis- 
abled, and you pay a considerable performance penalty. Consult your system's technical- 
reference manual for more information. 

Memory caching is the most popular and usually the most effective scheme for improving 
memory performance. This technique relies on a small amount (8K to 512K) of raw, 
high-speed memory fast enough to keep up with the processor with zero wait states. This 
small bank of cache memory often is rated at 15ns or less in access speed. Because this 
rate is faster than normal DRAM components can handle, a special type of memory is 
used. This memory is called SRAM (static RAM). SRAM devices do not need the constant 
refresh signals that DRAM devices require. This feature, combined with other design 
properties, results in extremely fast access times and very high costs. 

Although SRAM chips are expensive, only a small number of SRAM chips are required in 
a caching scheme. SRAM is used by a special cache-controller circuit that stores fre- 
quently accessed RAM locations and also is preloaded with the RAM values that the 
cache controller expects to be accessed next. The cache acts as an intelligent buffer be- 
tween the CPU and slower dynamic RAM. 

A cache hit means that the particular data the CPU wanted was available in the cache 
RAM and that no additional wait states are available for retrieving this data. A cache miss 
means that the data the CPU wanted had not been loaded into the cache RAM and that 
wait states must be inserted while the data is retrieved. A good cache controller has a hit 
ratio of 95 percent or more (the system runs with zero wait states 95 percent of the time). 
The net effect is that the system acts as though nearly all the memory is 15ns or less in 
speed, although most of the memory really is much slower (and, therefore, much less 
costly). 

Systems based on the 486SX, SL, or DX processors include a cache controller and 8K of 
internal-cache RAM in the CPU that makes them much faster than earlier systems. The 
486SLC CPU has a IK internal cache, whereas the Pentium CPU includes two 8K internal 



*5 



Adding Motherboard Memory 301 

caches — one for code and the other for data. 486DX4 processors have a 16K internal 
cache, while both the 486SLC2 and 486SLC3 processors have a 16K cache. Systems with 
386SX or DX processors must use an external-cache controller with externally provided 
cache RAM; these systems have no internal cache. The 386SL provides a built-in cache 
controller, and the IBM-designed 386SLC incorporates virtually the same cache control- 
ler and 8K of built-in cache RAM as the 486 processors. IBM, therefore, can claim an 80 
percent performance increase from the regular 386SX or DX chips for systems that use 
the 386SLC processor. 

A CPU internal cache is called a primary or Level 1 (LI) cache, and an external cache is 
called a secondary or Level 2 (L2) cache. Typically, the larger the memory cache, the 
better the performance. A larger secondary processor cache, however, is no guarantee; 
you may find that the system with the least cache RAM can out perform a system with a 
greater amount of cache RAM. Actual performance depends on the efficiency of the 
cache controller and the system design; a cache integrated into a CPU, for example, can 
far out perform an external cache. For example, adding the 256K L2 cache RAM option 
to a PS/2 Model 90 or 95 with a 486DX processor offers only a small increase in perfor- 
mance relative to the 8K of LI cache memory built into the 486 CPU chip, because the 
LI cache integrated into the CPU can out perform an external (L2) cache. Also, adding 
cache RAM does not result in a proportional increase in performance. You often gain the 
best performance by using the middle amount of secondary cache that your computer 
can accept. A PC that can accommodate a 64K, 128K, or 256K secondary cache provides 
the most bang for the buck. a 

To get maximum system performance and reliability, the best recommendation for add- o 

ing chips or SIMMs to a motherboard is to use memory rated at the speeds recommended 
by the manufacturer. Faster memory is likely to work in the system, but it creates no 
performance benefit and therefore is a waste of money. n 

The minimum access-time specification for motherboard memory in a specific system is •* 

listed in the system's technical reference manual. If you have an IBM-compatible system 
that lacks proper documentation, you can refer to other similar system documentation as 
a guide, because most compatibles follow the same requirements. Because of the variety 
of system designs on the market, however, you should try to acquire the proper docu- 
mentation from the manufacturer. 

Adding Adapter Boards 

Memory expansion boards typically are a last resort way to add memory. For many sys- 
tems (such as older models from Compaq) with proprietary local bus memory-expansion 
connectors, you must purchase all memory-expansion boards from that company. Simi- 
larly, IBM used proprietary memory connectors in the PS/2 Model 80 systems. For other 
industry-standard systems that use nonproprietary memory expansion (such as the IBM 
PC, XT, and AT) and most IBM-compatible systems, as well as most PS/2 systems, you 
can purchase from hundreds of vendors memory-expansion boards that plug into the 
standard bus slots. 

Unfortunately, any memory expansion that plugs into a standard bus slot runs at bus 
speed rather than at full system speed. For this reason, most systems today provide 



302 Chapter 7 — Memory 



standard SIMM-connector sockets directly on the motherboard so that the memory can 
be plugged directly into the system's local bus. Using memory adapter cards in these 
systems only slows them. Other systems use proprietary local bus connectors for 
memory-expansion adapters, which can cause additional problems and expense when 
you have to add or service memory. 

In some cases, an adapter board can use slower memory than would be required on the 
system motherboard. (Memory adapters for PS/2 Models 50 and 60, for example, use 
120ns memory chips.) Many systems run memory-expansion slots at a fixed slower 
speed — 8 MHz for most ISA bus systems — so that installed adapters function properly. 
The PS/2 system memory adapters may be able to run more slowly than main memory 
because of the Micro Channel Architecture (MCA) interface's higher level of controls and 
capabilities. The MCA's asynchronous design enables adapters to remain independent of 
the processor's speed and to request additional wait states, as required, to accommodate 
the slower adapters. 

Installing Memory 

This section discusses installing memory chips — specifically, new RAM chips or memory 
modules. The section also covers the problems that you are most likely to encounter and 
how to avoid them; it also provides information on configuring your system to use new 
memory. 

When you install or remove memory, you are most likely to encounter the following 
problems: 

■ Electrostatic discharge 

■ Broken or bent pins 

■ Incorrect switch and jumper settings 

To prevent electrostatic discharge (ESD) when you install sensitive memory chips or 
boards, do not wear synthetic-fiber clothing or leather-soled shoes. Remove any static 
charge that you are carrying by touching the system chassis before you begin, or — better 
yet — wear a good commercial grounding strap on your wrist. You can order one from an 
electronics parts store or mail-order house. A grounding strap consists of a conductive 
wristband grounded at the other end by a wire clipped to the system chassis (usually 
with an alligator clip). Leave the system unit plugged in, but turned off, to keep it 
grounded. 



Caution 



Be sure to use a properly designed commercial grounding strap; do not make one yourself. Com- 
mercial units have a one-megohm resistor that serves as protection if you accidentally touch live 
power. The resistor ensures that you do not become the path of least resistance to the ground and 
therefore become electrocuted. An improperly designed strap can cause the power to conduct 
through you to the ground, possibly killing you. 



Adding Motherboard Memory 



303 



Broken or bent leads are another potential problem associated with installing individual 
memory chips (DIPs) or SIPP modules. Sometimes, the pins on new chips are bent into a 
V, making them difficult to align with the socket holes. If you notice this problem on a 
DIP chip, place the chip on its side on a table, and press gently to bend the pins so that 
they are at a 90-degree angle to the chip. For a SIPP module, you may want to use needle- 
nose pliers to carefully straighten the pins so that they protrude directly down from the 
edge of the module, with equal amounts of space between pins; then you should install 
the chips in the sockets one at a time. 



Caution 



Straightening the pins on a DIP chip or SIPP module is not difficult work, but if you are not careful, 
you could easily break off one of the pins, rendering the chip or memory module useless. Use great 
care when you straighten the bent pins on any memory chip or module. You can use chip-insertion 
and pin-straightening devices to ensure that the pins are straight and aligned with the socket holes. 
These inexpensive tools can save you a great deal of time. 



Each memory chip or module must be installed to point in a certain direction. Each chip 
has a polarity marking on one end. This marking may be a polarity notch, a circular 
indentation, or both. The chip socket may have a corresponding notch. Otherwise, the 
motherboard may have a printed legend that indicates the orientation of the chip. If the 
socket is not marked, you should use other chips as a guide. The orientation of the notch 
indicates the location of Pin 1 on the chip. Aligning this notch correctly with the others 
on the board ensures that you do not install the chip backward. Gently set each chip 
into a socket, ensuring that every pin is properly aligned with the connector into which 
it fits, and push the chip in firmly with both thumbs until the chip is fully seated. 

SIMM memory is oriented by a notch on one side of the module that is not present on 
the other side. The socket has a protrusion that must fit into this notched area on one 
side of the SIMM. This protrusion makes it impossible to install a SIMM backward unless 
you break the connector. SIPP modules, however, do not plug into a keyed socket; you 
have to orient them properly. The system documentation can be helpful if the mother- 
board has no marks to guide you. You also can use existing SIPP modules as a guide. 

Before installing memory, make sure that the system power is off. Then remove the PC 
cover and any installed cards. SIMMs snap easily into place, but chips can be more diffi- 
cult to install. A chip-installation tool is not required, but it can make inserting the chips 
into sockets much easier. To remove chips, use a chip extractor or small screwdriver. 
Never try removing a RAM chip with your fingers, because you can bend the chip's pins 
or poke a hole in your finger with one of the pins. You remove SIMMs by releasing the 
locking tabs and either pulling or rolling them out of their sockets. 

After adding the memory chips and putting the system back together, you may have 
to alter motherboard switches or jumper settings. The original PC includes two switch 
blocks with eight switches per block. Switch positions 1 through 4 of a PC's second 



*5 

(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



304 Chapter 7 — Memory 



switch block must be set to reflect the total installed memory. The XT has only one 
switch block, which is set to reflect the number of memory banks installed on the system 
board but not the expansion-card memory. Appendix A provides more detailed informa- 
tion about the PC and XT motherboard switch settings. 

IBM AT and PS/2 systems have no switches or jumpers for memory. Rather, you must run 
a setup program to inform the system of the total amount of memory installed. IBM- 
compatible AT-type systems usually have a setup program built into the system ROM 
BIOS, and you must run this program after installing new memory to configure the sys- 
tem properly. 

Most memory-expansion cards also have switches or jumpers that must be set. You often 
must make two settings when you configure a memory card. The first setting — a starting 
address for the memory on the card — usually enables the memory on the card to begin 
using system memory addresses higher than those used by any existing memory. The 
second setting is the total amount of memory installed on the card. 

Because of the PS/2's influence in the market, many memory boards, as well as other 
types of adapter cards, are made without switches. Instead, these boards have a configu- 
ration program that is used to set up the card. The configuration is stored in a special 
nonvolatile memory device contained on the card; after the settings are made, the card 
can remember the settings permanently. The Intel AboveBoard 286 and Plus versions, for 
example, have this switchless setup and configuration capability. Following a menu- 
driven configuration program is much easier than flipping tiny switches or setting jump- 
ers located on a card. Another benefit of software configuration is that you don't even 
have to open the system to reconfigure a card. 

After configuring your system to work properly with the additional memory, you should 
run a memory-diagnostics program to ensure the proper operation of the new memory. 
At least two and sometimes three memory-diagnostics programs are available for all sys- 
tems. In order of accuracy, these programs are: 

■ POST (Power-On Self Test) 

■ User diagnostics disk 

■ Advanced diagnostics disk 

■ Aftermarket diagnostics software 

The POST is used every time you power up the system; you can press Ctrl+A at the open- 
ing menu to access the advanced diagnostics on the reference disk. 

PS/2 systems include the user diagnostics and advanced diagnostics programs on one 
reference disk. The disk ensures that PS/2 owners have all three memory-test programs. 

Owners of standard IBM PC systems receive (in the guide-to-operations manual) a diag- 
nostics disk that contains a good memory test. PC owners should purchase the advanced 
diagnostics disk as part of the hardware-maintenance service manual package. If you 
have purchased this package, you should use the advanced diagnostics program. 



Adding Motherboard Memory 305 

Many additional diagnostics programs are available from aftermarket utility software 
companies. Several companies listed in Appendix B have excellent diagnostics and test 
software for testing memory and other components of a system. These programs are 
especially useful when the manufacturer of the system does not provide its own diagnos- 
tics. 

Installing 640K on an XT Motherboard 

This section describes how to install 640K of RAM on the system board in an IBM XT 
and an IBM Portable. The upgrade essentially changes what IBM calls an XT Type 1 
motherboard to a Type 2 motherboard. 

The upgrade consists of installing two banks of 25 6K chips and two banks of 64K chips 
on the motherboard, and then enabling the memory chips by adding a multiplexer/ 
decoder chip to an empty socket provided for it, as well as jumper wire. The jumper wire 
enables an existing memory decoder chip (U44) to enable the additional memory. These 
modifications are relatively easy to perform and can be done with no soldering. 

A memory-chip address is selected by two signals called row-address select (RAS) and 

column-address select (CAS). These signals determine where a value in a chip is located. 

You modify the signals by installing the jumper as indicated in this section so that the 

first two banks can be addressed four times deeper than they originally were, thus using 

the additional address locations in the 256K chips rather than in the original 64K chips. *< 

To install 640K on an IBM XT motherboard, you must obtain the following parts from a 3 

chip vendor or electronics supply store (see Appendix B for sources): ^ 

O 

■ 18 256K-by-l-bit, 200ns (or faster) memory chips 

■ One 74LS158 (multiplexer/decoder) chip 3 

■ A small length of thin (30-gauge) jumper or wire-wrapping wire 3. 

After you have these parts, follow these steps: 

1. Remove the motherboard (as explained in Chapter 4, "Motherboards"). 

2. Plug the 74LS158 chip into the socket labeled U84. 

All motherboard components are identified by an alphanumeric value. The letter 
usually indicates the type of component, and the number indicates a sequential 
component ID number for that type of component. The coding can differ among 
manufacturers, but most use this lettering scheme: 



u 


Integrated circuit 


Q 


Transistor 


c 


Capacitor 


R 


Resistor 


T 


Transformer 




306 Chapter 7 — Memory 

L Coil 
Y Crystal 
D Diode 



Usually, component numbering follows a pattern in which the numbers increase as 
you move from left to right along the first row of components. Then the numbers 
begin again, at the left side and one row lower. You should be able to locate all the 
IC chips, starting with Ul in the upper-left corner of the board and ending with 
U90 in the lower-right corner. 

3. Remove the IC installed in the socket labeled U44. 

4. Install a jumper wire connecting Pin 1 to Pin 8 on the chip removed from position 
U44. To avoid making changes that you cannot undo later, it is easiest to wrap the 
ends of the jumper wire around the indicated IC pins. Be sure that the ends of the 
wire are wrapped securely around pins 1 and 8 and that the connection is good. 
Route the wire on the underside of the IC so that the wire is held in place when 
you install the chip. Reinstall the chip with the jumper in place. The IC might sit 
slightly higher in the socket because of the wire underneath it, so make sure that it 
is seated as far as it goes. 



Caution 



Be careful with the U44 — it is a unique IBM programmable array logic (PAL) chip that you 
cannot purchase separately. A PAL chip is burned with a circuit pattern, much as a ROM 
chip is burned with data values. The only way to obtain the chip is to purchase a new 
motherboard from IBM. Some chip houses, such as Microprocessors Unlimited (see the 
vendor list in Appendix B), sell a copy of this PAL chip with the jumper wire modification 
burned in. Using one of these modified PAL chips is an alternative to adding the jumper 
wire manually, but be aware that most companies charge $20 for the chip. Adding the wire 
yourself is much cheaper. 

Another alternative to adding the jumper wire to the chip in U44 is soldering two 
jumper pins into the plated holes numbered 1 and 2 in the jumper pad labeled E2. 
Using a standard plug-in jumper, you install a jumper across the two added pins. I 
normally do not recommend this method unless you are experienced with a solder- 
ing iron. All IBM XT Type 2 motherboards already have this modification built in. 

5. Remove the 18 existing 64K-by-l-bit chips from banks and 1. Reinstall the chips 
in banks 2 and 3 (if 64K chips are not already in these banks) or store them as spare 
chips. 

6. Install the 18 new 256K-by-l-bit chips in banks and 1. 

7. Be sure that switches 3 and 4 of switch block SW1 are set to Off. 

8. Replace the motherboard and restore all other system components except memory 
cards. 



Upgrading the ROM BIOS 307 

Remember that the motherboard now has 640K on it and that no other boards 
must address that space. If other memory cards were previously configured to sup- 
ply memory in the first 640K area, you must reconfigure these cards or remove 
them from the system. 

9. Power up the system, and test the installed memory for 640K without other 
memory-adapter cards. 

If all operations are successful, you have performed an inexpensive memory upgrade that 
matches the capabilities of the Type 2 XT motherboard from IBM. 

Upgrading the ROM BIOS 

In this section, you learn that ROM BIOS upgrades can improve a system in many ways. 
You also learn that the upgrades can be difficult and may require much more than plug- 
ging in a generic set of ROM chips. 

The ROM BIOS, or read-only memory basic input-output system, provides the crude 
brains that get your computer's components working together. A simple $30-to-$90 BIOS 
replacement can give your computer faster performance and more features. 

The BIOS is the reason why DOS can operate on virtually any IBM-compatible system «! 

despite hardware differences. Because the BIOS communicates with the hardware, the * 
BIOS must be specific to the hardware and match it completely. Instead of creating their 

own BlOSes, many computer makers buy a BIOS from specialists such as American o 



Megatrends Inc. (AMI), Award Software, Microid Research, and Phoenix Technologies 



process is what makes upgrading a BIOS so difficult. BIOS usually resides on ROM chips 
on the motherboard; some newer PS/2 systems from IBM, however, have a disk-loaded 
BIOS that is much easier to upgrade. 

The BIOS is a collection of small computer programs embedded in an EPROM (erasable 
programmable read-only memory) chip or chips, depending on the design of your com- 
puter. That collection of programs is the first thing loaded when you start your com- 
puter, even before the operating system. Simply put, the BIOS has three main functions: 

■ Tests your computer's components when it is turned on. This test is called the 
Power-On Self Test, or POST. The POST tests your computer's memory, mother- 
board, video adapter, disk controller, keyboard, and other crucial components. 

■ Finds the operating system and loads, or boots, it. This operation is called the boot- 
strap loader routine. If an operating system is found, it is loaded and given control 
of your computer. 

■ After an operating system is loaded, the BIOS works with your processor to give 
software programs easy access to your computer's specific features. For example, 




3 

•a 



Ltd. A hardware manufacturer that wants to license a BIOS must undergo a lengthy pro- O 

cess of working with the BIOS company to tailor the BIOS code to the hardware. This 



3 



308 Chapter 7 — Memory 



the BIOS tells your computer how to work with your video card and hard disk 
when a software program requires these devices. 

In older systems, you often must upgrade the BIOS to take advantage of some other up- 
grade. To install some of the newer IDE (Integrated Drive Electronics) hard drives and 
1.44M or 2.88M floppy drives in older machines, for example, you may need a BIOS 
upgrade. Machines still are being sold with older BlOSes that do not support the user- 
definable drive-type feature required for easy installation of an IDE drive or that may 
have timing problems associated with IDE drives. 

The following list shows the primary functions of a ROM BIOS upgrade: 

■ Adding 720K, 1.44M, or 2.88M 3 1/2-inch floppy drive support to a system 

■ Eliminating controller- or device-driver-based hard disk parameter translation for 
MFM, RLL, IDE, or ESDI drives with 1,024 or fewer cylinders by using a user- 
definable hard drive type matched to the drive 

■ Adding support for block-mode Programmed I/O (PIO) transfers for a Fast-ATA 
(AT Attachment Interface) (Enhanced-IDE) hard disk 

■ Adding 101-key Enhanced Keyboard support 

■ Adding compatibility for Novell networks 

■ Adding compatibility for SVGA displays 

■ Adding support for additional serial (COM) ports and printer ports 

■ Adding password protection 

■ Adding virus protection 

■ Adding support for additional floppy disk drives 

■ Correcting known bugs or compatibility problems with certain hardware and 
software 

Because of the variety of motherboard designs on the market, ordering a BIOS upgrade 
often is more difficult than it sounds. If you have a name-brand system with a well- 
known design, the process can be simple. For many lesser-known compatible systems, 
however, you must give the BIOS vendor information about the system, such as the type 
of manufacturer's chipset that the motherboard uses. 

For most BIOS upgrades, you must obtain the following information: 

■ The make and model of the system unit 

■ The type of CPU (for example, 286, 386DX, 386SX, 486DX, 486SX, and so on) 

■ The make and version of the existing BIOS 

■ The part numbers of the existing ROM chips (you may have to peel back the labels 
to read this information) 



Upgrading the ROM BIOS 309 

■ The make, model, or part numbers of integrated motherboard chipsets, if used (for 
example, Intel, ALI, Chips & Technologies, VLSI, OPTI, UMC, and others) 

An integrated chipset is a group of chips on the original AT motherboard that can perform 
the functions of hundreds of discrete chips. Many chipsets offer customizable features 
that are available only if you have the correct BIOS. Most differences among systems 
today lie in the variety of integrated chipsets that are now used to manufacture PCs and 
in the special initialization required to operate these chips. 

The BIOS also must support variations in keyboard-controller programming and in the 
way that nonstandard features such as speed switching are handled. A computer that 
uses the Chips & Technologies NEAT chipset, for example, must have a BIOS specifically 
made for it. The BIOS must initialize the NEAT chipset registers properly; otherwise, the 
machine does not even boot. The BIOS also must have support for this chipset's special 
features. Each of the 20 or more popular chipsets for 286, 386, 486, and Pentium ma- 
chines requires specific BIOS support for proper operation. A generic BIOS may boot 
some systems, but certain features, such as shifting to and from protected mode and 
speed switching, may not be possible without the correct BIOS. 

Keyboard-Controller Chips 

Besides the main system ROM, AT-class computers also have a keyboard controller or t/> 

keyboard ROM, which is a keyboard-controller microprocessor with its own built-in vj_ 

(6 

3 

n 



programmed into the chip. 




ROM. The keyboard controller usually is an Intel 8042 microcontroller, which incorpo- 
rates a microprocessor, RAM, ROM, and I/O ports. The keyboard controller usually is a 
40-pin chip, often with a label that has a copyright notice identifying the BIOS code 

■c 



The keyboard controller controls the reset and A20 lines, and also deciphers the key- jg 

board scan codes. The A20 line is used in extended memory and other protected-mode 3 

operations. In many systems, one of the unused ports is used to select the CPU clock 
speed. Because of the tie-in with the keyboard controller and protected-mode operation, 
many problems with keyboard controllers become evident when you use either Windows 
or OS/2. If you experience lockups or keyboard problems with either Windows or OS/2 
software — or with any software that runs in protected mode, such as Lotus 1-2-3 Release 
3.x — get a replacement from your BIOS vendor or system-board vendor. 

IBM systems do not need a replacement of the keyboard controller for upgrade purposes. 
(Replacement is difficult because the chip normally is soldered in.) Most manufacturers 
of IBM-compatible systems install the keyboard-controller chip in a socket so that you 
can upgrade or replace it easily. If you upgrade the BIOS in your system, the BIOS vendor 
often includes a compatible keyboard controller as well. You usually do not have to buy 
the controller unless your old keyboard controller has a problem with the new BIOS. 

BIOS Manufacturers and Vendors 

Several BIOS manufacturers have developed ROM BIOS software for use in upgrading 
IBM or IBM-compatible systems. The following companies are the largest manufacturers 
of ROM BIOS software: 



310 Chapter 7 — Memory 



■ Phoenix 

■ American Megatrends International (AMI) 

■ Microid Research (MR) 

■ Award 

Phoenix pioneered the IBM-compatible BIOS and the legal means to develop a product 
that is fully compatible with IBM's BIOS without infringing on the corporation's copy- 
right. Phoenix first introduced many new features, such as user-defined hard drive types 
and 1.44M drive support. The Phoenix BIOS has a very good Power-On Self Test; this 
thorough POST presents a complete set of failure codes for diagnosing problems, espe- 
cially the ones that occur when a system seems to be dead. (Appendix A contains a com- 
plete list of Phoenix BIOS POST error codes.) 

The Phoenix BIOS documentation, a complete three-volume reference package, is one 
of the product's most useful features. This documentation includes System BIOS for IBM 
PC/XT/AT Computers and Compatibles, CBIOS for IBM PS/2 Computers and Compatibles, and 
ABIOS for IBM PS/2 Computers and Compatibles. I recommend these excellent reference 
works, published by Addison-Wesley, even if you do not have the Phoenix BIOS (al- 
though some of its specific information does not apply to other systems). 

The BIOS produced by AMI is very popular and surpasses even Phoenix in new system 
installations. The AMI BIOS offers a less comprehensive Power-On Self Test than the 
Phoenix BIOS does, but it has an extensive diagnostics program in ROM. You even can 
purchase the program separately, as AMIDIAG. The in-ROM version, however, lacks the 
capability to test memory — a crucial capability if the failure is in the first bank. On the 
other hand, the BIOS is very compatible with the PC standard, available for several differ- 
ent chipsets and motherboards, and has been handled responsibly from the support 
level. When problems have occurred, AMI has fixed them, earning this program full 
compatibility with OS/2 and other difficult environments. 

Because AMI manufactures its own motherboards, it has a distinct advantage over other 
BIOS companies. If the motherboard and BIOS are made by the same source, the single 
vendor probably can resolve any interaction problems between the BIOS and mother- 
board quickly, without shifting blame for the problem to another party. I recommend 
buying AMI's motherboards, because you generally don't have to worry about compat- 
ibility problems between the AMI BIOS and the AMI motherboard. Even if problems 
occur, AMI corrects them. 

Microid Research is newer than some of the other BIOS manufacturers, but its BIOS has 
proved to be very compatible. The MR BIOS, as it is called, supports several CPU and 
motherboard chipset combinations. The MR BIOS offers one of the easiest and most 
informative setup programs available; this program does a good job of explaining the 
options. Some of you know that setting the advanced chipset functions is not always 
intuitive with the other BIOS vendors' products. In short, I recommend that you look at 
the MR BIOS if you are considering a BIOS upgrade or configuring a bare motherboard 
from scratch. 



Upgrading the ROM BIOS 311 

Award, the third-largest manufacturer of BIOS software, has made a name for itself with 
many system vendors, because it licenses the BIOS code to them for further modifica- 
tion. AST, for example, purchased the rights to the Award BIOS for its own systems and 
now can modify the BIOS internally, as though it created the BIOS from scratch. In a 
sense, AST could develop its own custom BIOS, using the Award code as a starting point. 
Award also provides precustomized BIOS code for manufacturers. Although Award's BIOS 
is not yet as popular as the Phoenix and AMI BlOSes, it is very popular, and compatibil- 
ity even in tough environments such as OS/2 is ensured. 

If you want to replace or upgrade your BIOS, you can obtain replacement chips directly 
from the BIOS manufacturer or from the following recommended distributors: 

■ Micro Firmware Inc. Micro Firmware offers an extensive line of Phoenix BIOS up- 
grades, with more than 50 common 8088, 286, 386, and 486 versions available. 
This company develops BIOS upgrades for specific hardware platforms, even when 
the original motherboard manufacturer is no longer in business. Many other BIOS 
vendors sell BlOSes developed by Micro Firmware for specific platforms. 

■ Washburn & Company Distributors. This licensed AMI distributor deals exclusively 
with AMI BIOS upgrades. Washburn has complete AMI motherboard and BIOS 
packages. A primary distributor for AMI, Washburn has great expertise in dealing 
with BIOS upgrade problems. The company also sells Second Nature, a disk drive 
support product that may eliminate the need for a BIOS if all you want is addi- 
tional hard disk or floppy drive support. 3 

■ Microid Research. This company manufactures and sells its own MR BIOS direct, and o 
offers technical support as well. 

O 
Special ROM BIOS-Related Problems lb 



Some known problems exist in certain ROM BIOS versions as well as in some systems 
sold during the past few years. Several of these problems have the potential to affect a 
large number of people, either because the problem is severe or many systems have the 
problem. This section describes some of the most important known BIOS- and system- 
interaction problems and also provides solutions for the problems. 

Some systems with BlOSes even as recent as 1992 or 1993 may not start after you up- 
grade to DOS 6.x. Some of the older BlOSes came on line when DOS 3.3 or earlier was 
the current operating system. As a result, those older BlOSes often cannot take advantage 
of the advanced features of DOS 6.x. 

If you use an AT&T 6300 system, you will want to use BIOS Version 1.43, which is the 
most recent one made for the system. This version solves many problems with older 
6300 systems and also provides support for a 720K floppy disk drive. You can order BIOS 
Version 1.43 for about $35 from the AT&T National Parts Sales Center (see Appendix B) 
under part number 105203780. 

Some systems with the AMI BIOS have had problems with IDE hard disk drives. IDE 
(Integrated Drive Electronics) drives have been touted as being fully port-compatible 




*5 



3 



312 Chapter 7 — Memory 



with existing ST-506/412 (MFM or RLL) and ESDI drives. Some IDE drives, however, take 
somewhat longer than they should after certain commands to present valid data at their 
ports. In late 1989, AMI received many reports of problems with IDE drives, especially 
Conner and Toshiba drives. Because of these timing problems, AMI BIOS versions dated 
earlier than April 9, 1990 are not recommended for use with IDE drives, and data loss 
can result if earlier versions are used. You may experience Drive C not ready errors with 
certain IDE drives, such as those from Conner Peripherals. If you have a computer with 
an IDE drive and an AMI BIOS dated earlier than 04/09/90, you should get a newer BIOS 
from the system vendor. 

To make sure that you have the correct AMI BIOS version, look for this figure in the 
lower-left corner of the screen when you boot your computer: 

xxxx-zzzz- 040990 -Kr 

The 040990 indicates a BIOS date of April 9, 1990 — the minimum version to use. Older 
versions are OK only if you are nor using IDE drives. The xxxx-zzzz indicates the BIOS 
type code and an OEM (original equipment manufacturer) ID number. For AMI-manu- 
factured motherboards, for example, the BIOS type code is D AMI- [model code]. The r 
indicates the keyboard-controller chip's revision level, which should be revision F or later 
to avert problems. 

Changes to an Existing BIOS 

If you have access to the correct tools and knowledge, you can perform some interesting 
modifications or upgrades to your system by altering your existing ROM BIOS. This sec- 
tion discusses several modifications that I have performed on my own systems. (These 
modifications have worked for me, and I am not necessarily recommending that anyone 
else perform them.) If nothing else, the research and development of these modifications 
taught me much about the way some things work in an IBM-compatible system, and I 
know that many of you are interested in some of this information. 



These types of modifications are for readers who are especially technically astute or extremely 
adventurous; they are not recommended for everyone, especially for readers for whom system 
reliability is of crucial importance. But the following information should prove to be interesting 
even for readers of this book who do not attempt these operations on their systems. 



Using EPROM Programming Equipment. You can accomplish some interesting modi- 
fications or upgrades and even repairs of a system by using an EPROM programmer (or 
burner, as it is sometimes called). EPROM stands for erasable programmable read-only 
memory — a type of chip that can have a program burned, or fused, into it by way of an 
EPROM programmer device. These devices cost anywhere from about $100 to several 
thousands of dollars, depending on the capabilities of the device. 

Most cheaper EPROM programmers are more than adequate for burning PC ROMs. Both 
JDR Microdevices and Jameco Electronics sell various EPROM programmers, as do several 



Upgrading the ROM BIOS 



313 



other distributors. I currently use and recommend one made by Andromeda Research 
(see Appendix B). This device is very inexpensive, fast, and will handle most types of 
chips including the new flash ROMs. These programmers either connect to a slot or use 
the standard serial or parallel ports for communications. The Andromeda Research 
EPROM programmer connects to a system parallel port that gives it flexibility and perfor- 
mance that are not equaled in most other units. 

To erase an EPROM, you also need an EPROM eraser, an inexpensive device ($30 to 
$100) that exposes the EPROM chip to intense ultraviolet light for about three to five 
minutes. I recommend and use a simple unit made by DataRace (see the vendor list). 
With an EPROM programmer, you can modify or customize your system ROM BIOS, as 
well as the ROM chips found on many expansion cards. You also can add hard drives to 
the drive table, change sign-on or error messages, and make specific changes to increase 
performance or otherwise customize your system. The ability to alter ROMs gives you an 
extra level of capability in upgrading and repairing systems. 



You also can use an EPROM programmer to work with ROMs in other types of computer systems. 
I have even altered the ROMs that contain the programs and data tables for the electronic control 
module (ECM) in several General Motors automobiles, giving me total control of turbocharger 
boost settings, engine-temperature and electric-fan calibrations, vehicle speed governors, torque 
converter clutch operation, and even fuel-injector and spark-advance curves. 



Backing Up Your BIOS. One often overlooked benefit of an EPROM programmer is that 
you can use it to essentially back up your ROMs in case they are later damaged. Many 
hardware vendors, such as IBM, do not offer ROM upgrades for their systems, and the 
only way to repair a motherboard or card with a damaged ROM is to burn a new copy 
from a backup. The backup can be in the form of another EPROM chip with the original 
program burned in or even in the form of a disk file. I keep files containing images of the 
ROMs in each of my motherboards and expansion cards, in case I have to burn a new 
copy to repair one of my systems. 

To create a disk-file copy of your motherboard ROM BIOS, you can place the ROM in an 
EPROM programmer and use the function provided by the device to read the EPROM 
into a disk file, or you can use the DOS DEBUG program to read your ROM BIOS from 
memory and transfer it to disk as a file. To use DEBUG in this manner, follow these in- 
structions: 



C:\>DEBUG 

-N SEG- F.ROM 

-R BX 

BX 0000 

:1 

-M F000:0 FFFF CS:0 

-W 

Writing 10000 bytes 

-Q 



Run DEBUG 

Name the file 

Change BX register (high-order file size) 

from 

to 1 (indicates 64K file) 
Move BIOS data to current code segment 
Write file from offset in code segment 

10000h = 64K 
Quit DEBUG 



*5 

(6 

3 

r> 

o 

3 

■o 
o 

3 
(6 

3 



314 



Chapter 7 — Memory 



These instructions save the entire 64K segment range from F000:0000 to 000:FFFF as a 
file by first setting up the name and size of the file to be saved and then moving (essen- 
tially, copying) the ROM BIOS code to the current code segment when DEBUG was 
loaded. The data then can be written to the disk. IBM AT systems and most compatibles 
have only 64K of BIOS, but IBM PS/2 systems normally have a full 128K of BIOS code 
that resides in both segment E000 and F000. For these systems, repeat the procedure, 
using E000:0 as the starting address in the Move command (rather than F000:0) and, of 
course, a different file name in the Name command. One important quirk of this proce- 
dure is that the commands should be entered in the order indicated here. In particular, 
the Name command must precede the Move command, or some of the data at the begin- 
ning of the current code-segment area will be trashed. 

You also can use this routine to back up any adapter-board ROMs installed in your sys- 
tem. To back up the ROM on the IBM SCSI adapter with cache installed in my system, 
for example, a similar DEBUG session works. You must know the ROM's starting address 
and ending address or length to continue. My SCSI adapter ROM is located at D400:0 
and is 16K, or 4,000H (hex) bytes long, which means that it ends at D400:3FFF. To save 
this ROM as a file, execute these instructions: 



C:\>DEBUG 

-N SCSI. ROM 

-R CX 

CX 0000 

:4000 

-M D400:0 3FFF CS:0 

-W 

Writing 04000 bytes 

-Q 



Run DEBUG 

Name the file 

Change CX register (low-order file size) 

from 

to 4000 (indicates 16K file) 
Move BIOS data to current code segment 
Write file from offset in code segment 

4000h = 16K 
Quit DEBUG 



Most EPROM programmers are supplied with software that runs in your PC and enables 
you to control the unit. Available functions include the capability to read a ROM and 
save it as a disk file or write a ROM from a disk file, and the capability to copy or test 
ROMs. The software also should be capable of splitting a file into even and odd addresses 
for 16- or 32-bit systems, as well as combining two split files into one. Another require- 
ment is the capability to calculate the proper checksum byte (usually, the last byte) in 
the ROM so that diagnostics passes it. All the programmers mentioned have these func- 
tions and more. 

Removing the POST Speed Check. One problem in the IBM AT and XT-286 systems is 
that the clock speed is checked during the Power-On Self Test (POST). Checking the clock 
speed probably is a good idea, but it causes problems if you want to take advantage of 
the socketed clock crystal in these systems for a cheap and easy speedup. Most IBM com- 
patibles do not have this speed check and can run at different clock rates, usually with 
no modifications of the BIOS required. 

In IBM systems, the Verify Speed/Refresh Clock Rates test checks the system refresh rate 
(clock speed) to ensure that it is 6 or 8 MHz, depending on which IBM system you have. 
A marginally faster or slower rate causes the test to fail and results in a POST error of one 
long and one short beep, followed by a halt (HLT) instruction. 



Upgrading the ROM BIOS 315 

This test occurs at POST checkpoint llh, which is sent to the manufacturer's test port 
80h. A failure of this test, as indicated by one of the POST-card products that read this 
port, can be identified by reading llh as the last value sent to the manufacturer's test 
port. To eliminate the test and enable a faster-than-normal clock rate, you must patch 
the instruction at the proper location from a 73h (JAE — Jump if Above or Equal) to an 
EBh (JMP — Jump unconditionally); this patch causes the test for an abnormally high 
refresh rate (resulting in a low test value) to pass through the JAE instruction. When this 
instruction is changed to a JMP instruction, the test never passes through and falls into 
the error routine, no matter how fast the rate. 

Notice that the test for a slow refresh rate still is intact and that it fails if the clock is 
below 6 or 8 MHz, depending on the system. The JAE instruction occurs at F000:05BC in 
IBM AT systems with the 06/10/85 or 11/15/85 ROM BIOS versions and at F000:05C0 in 
XT-286 systems. The original AT system with the 01/10/84 BIOS does not have this test. By 
creating a new set of chips with this value changed by an EPROM programmer, you can 
eliminate this speed check and enable faster clock rates. 

Modifying ROM BIOS Hard Disk Drive Parameter Tables. Probably the most com- 
mon change made to a BIOS is adding or changing drives in existing hard drive tables. 
For example, I have added two new drive types to one of my systems. Those types — 
25 and 26 — have these parameters: ^ 

*5 

(6 

3 

r> 

o 

3 

See Chapter 14, "Hard Disk Drives," for more information about these parameters. In my O 

old AT system, these table entries originally were unused (zeros), as are the remainder of 
types from 27 through 47. By burning a new set of ROMs with these two new completed 
entries, I can use my Maxtor XT-1140 drive to maximum capacity with an MFM control- 
ler (as type 25) or an RLL controller (as type 26). This setup precludes the need for a con- 
troller BIOS to override the motherboard table values and also saves me some memory in 
the C000 or D000 segments, where a hard disk controller ROM normally would reside. 
The procedure also makes my system more standard. If you are interested in performing 
this modification, get the IBM AT Technical Reference Manual, which documents the posi- 
tion and format of the drive tables in the BIOS. 

Changing the Hard Disk Controller Head Step Rate. Another, more complicated 
modification that you can perform is to increase the stepping rate of the hard disk con- 
troller. The first edition of this book briefly mentioned this modification, and a reader 
wrote to me to express interest in it. This edition explains the precise nature of this 
modification and what is being changed, to give you greater insight into how the BIOS 
and disk controller work together. The performance gain, in fact, is relatively slight; I see 
making the change as being a learning experience more than anything else. 



Type 


Cylinders 


Heads 


WPC 


Ctrl 


LZ 


S/T 


Meg 


MB 


25 
26 


918 
918 


15 
15 


65535 
65535 


08h 
08h 


918 
918 


17 
26 


114.30 
174.81 


119.85 
183.31 



3 



316 Chapter 7 — Memory 



The Western Digital AT Controllers (1002/1003/1006) used by IBM in the original AT 
system, as well as in other compatible controllers (such as those from Data Technology 
Corporation and Adaptec), have a default head-stepping rate of 35|isec (microseconds). 
The fastest usable step rate is 16Lisec — more than twice as fast. Most ST-506/412 hard 
disks have optimum stepping rates as low as lOusec. By decreasing the rate to 16Lisec, 
you can improve the seeking performance of the drive, resulting in an improvement of 
several milliseconds or more during an average seek. Because the standard rate is so slow 
compared with the optimum rate, many ST-506/412 drives — especially fast-seeking 
drives — do not perform to their manufacturer-rated seek performance unless the step rate 
from the controller is optimized in this manner. 

You can decrease the step rate to 16Lisec in two ways. The easiest and best way is to sim- 
ply set a jumper on the controller card. Not all cards, however, support this option. In 
fact, only one of the many Western Digital ST-506/412 controllers— the WD1003-WAH 
(ST-506/412 MFM, no floppy support) — supports this option. None of the other WD 
cards for the AT permits you to change the step rate by way of a jumper. Adaptec, on the 
other hand, has a jumper for selecting the step rate on all its AT ST-506/412 controllers. 
Other than Adaptec's cards, most cards do not have a jumper and require other means of 
changing the step rate. 

The second method of changing the step rate is universal and works with virtually all AT 
bus ST-506/412 controllers, regardless of whether they are MFM or RLL or whether they 
support floppy drives. You make the change by changing two bytes in the ROM BIOS 
hard disk support code, which alters the way that two specific commands are sent to the 
controller card. 

First, consider a little background on the way that the BIOS and controller operate. 
When DOS reads or writes data to or from a hard disk, it accesses the disk through the 
ROM BIOS. Specifically, DOS uses the Int 13h (h = hexadecimal) functions provided in 
the BIOS. Int 13h functions are commands incorporated into the BIOS of an AT system 
that enable DOS (or any other software) to perform specific commands in relation to the 
drive. These Int 13h commands then are translated into direct controller-register-level 
commands by the BIOS. The direct controller commands are called command control block 
(CCB) commands, because each command must be presented to the controller in the 
form of a 7-byte command block with the command byte itself being the last (seventh) 
one. The other six bytes contain information such as the number of sectors on which to 
operate, as well as the cylinder and head positions where the command operates. 

Sixteen Int 13h commands are available for hard disks in the IBM AT BIOS. Some of 
these commands, such as the Get Disk Type BIOS command, perform functions that do 
not involve accessing the controller or drive. Most other commands, however, are trans- 
lated by the BIOS to the required code to send one of eight total CCB commands to the 
controller. 

Table 7.11 shows the Int 13h BIOS commands and the specific CCB commands that the 
BIOS executes in the process. 



Upgrading the ROM BIOS 



317 



Table 7.11 Int 13h AT Hard Disk BIOS and AT Controller CCB Commands 



BIOS 

Command Description 



CCB 
Command 



Description 



OOh 


Reset Disk System 


91 h 


Set Parameters 






lOh 


Recalibrate 


01 h 


Get Status of Last Operation 


— 


— 


02 h 


Read Sectors 


20h 


Read Sector 


03h 


Write Sectors 


30h 


Write Sector 


04 h 


Verify Sectors 


40h 


Read Verify 


05h 


Format Track 


50h 


Format Track 


08h 


Read Drive Parameters 


— 


— 


09h 


Initialize Drive Characteristics 


91 h 


Set Parameters 


OAh 


Read Long 


22h 


Read Sector 


OBh 


Write Long 


32h 


Write Sector 


OCh 


Seek 


70h 


Seek 


ODh 


Alternate Hard Disk Reset 


lOh 


Recalibrate 


lOh 


Test for Drive Ready 


— 


— 


11h 


Recalibrate Drive 


lOh 


Recalibrate 


14h 


Controller Internal Diagnostic 


80h 


Diagnose 


15h 


Get Disk Type 


— 


— 




Although only eight CCB commands are specific to the standard Western Digital (or 
compatible) AT hard disk controller, variations of some of the commands exist. Each 
CCB command consists of a single byte, with the most significant four bits (bits 4-7) of 
the byte indicating the actual command and the least significant four bits (bits 0-3) indi- 
cating various command options. For two of the CCB commands, the option bits indi- 
cate — and, in fact, set — the step rate for the controller. By changing these bits, you also 
change the default step rate. 

Table 7.12 shows the eight standard CCB commands. 



*5 

ft 

3 

r> 

o 

3 

•a 
o 

3 

» 

3 



Table 7.12 WD1002/WD1003/WD1006 AT Hard Disk Controller 
CCB Commands 



CCB Command 



Description 



lOh-IFh 


Recalibrate 


20h-23h 


Read Sector 


30h-33h 


Write Sector 


40h-41h 


Read Verify 


50h 


Format Track 


70h-7Fh 


Seek 


80h 


Diagnose 


91 h 


Set Parameters 



318 Chapter 7 — Memory 



In each of these commands, the CCB command byte is sent to the controller as the sev- 
enth byte of the total command block. The primary value is the first one listed in the 
chart. By setting the option bits, you can alter the command function. For example, the 
Read Sector command is 20h. By adding +lh to the command byte (making it 21h), you 
disable automatic retries in case of errors. This step prevents the controller from auto- 
matically rereading the sector as many as 19 additional times, in some cases; instead, the 
error is reported immediately. For error-correction code (ECC) errors, the controller sim- 
ply attempts an immediate ECC correction, rather than rereading the sector as many as 
eight times in attempting to get a good read before making the ECC correction. 

You can disable retries only for the Read Sector, Write Sector, and Read Verify com- 
mands. This capability is especially useful during low-level formatting, surface analyzing, 
or even just Read Verify testing of the drive, because any errors are reported more accu- 
rately without automatic retries taking place. 

You can set another option for the Read Sector and Write Sector commands. This option 
involves the ECC bytes (an additional four bytes of data past the data area of the sector); 
it makes the sector read or write include a total 516 bytes instead of the normal 512. To 
set the "long" option, add +2h to the Read Sector or Write Sector CCB byte value. To 
change the standard Read Sector command (20h) to include the ECC bytes, for example, 
you add +2h, which results in a CCB command byte value of 22h. The option to include 
the ECC bytes during a read or write is especially useful in testing the ECC circuitry on 
the controller by specifically writing incorrect values and then reading them back to see 
the ECC in action. 

For the Read Sector and Write Sector CCB commands, you can combine the disable- 
retries option with the long option by adding the two options (+lh and +2h = +3h), a 
procedure that results in a CCB command byte value of 23h (Read Sector) or 33h (Write 
Sector). 

The last two commands — Recalibrate and Seek — have options that you can set through 
the option bits. For these two commands only, the option bits are used to set the step- 
ping rate for subsequent seek commands to the drive. By adding a value from lh through 
Fh to the CCB command byte for the Recalibrate or Seek commands, you can change the 
step rate from the default of 35iisec to something else. 

The following table shows the different step rates that you can set by adding the step 
option to these commands. 



Step Option 


Step 


Oh 


35 


lh 


500 


2h 


1,000 


3h 


1,500 


4h 


2,000 


5h 


2,500 


6h 


3,000 


7h 


3,500 



Upgrading the ROM BIOS 



319 



Step Option 


Step 


8h 


4,000 


9h 


4,500 


Ah 


5,000 


Bh 


5,500 


Ch 


6,000 


Dh 


6,500 


Eh 


3.2 


Fh 


16 



In this case, you want to add Fh to change the step rate from the default 35usec to 
16(xsec. Notice that the other possible values are much too slow (500 to 6,500Lisec) and 
that the 3.2|isec rate is much too fast for most drives. To change the Recalibrate and Seek 
commands to use the 16(xsec step rate, you must patch the BIOS, changing the lOh and 
70h to lFh and 7Fh, respectively. You essentially are patching the code that is executed 
when an Int 13h, Function llh (Recalibrate Drive), or Function OCh (Seek) BIOS com- 
mand is executed. These BIOS routines contain the code that sends the lOh (Recalibrate) 
or 70h (Seek) CCB commands to the controllers. Because the other BIOS routines that 
also execute the CCB Recalibrate command do so by calling the same Int 13h Function 
llh code, only one patch is required to change all occurrences of the CCB Recalibrate 
command. 

Because these two commands can be in different positions in different BIOS, the follow- 
ing code shows you how to find them by using the DOS DEBUG command: 



command 



C:\>DEBUG 


Run DEBUG 


-S F000:0 L C6 46 FE 10 


Search ROM for Recalibrate 


F000:30CF 


Found it! 


-S F000:0 L C6 46 FE 70 


Search ROM for Seek command 


F000:309A 


Found it! 


-Q 


Quit 



The first Search command locates the code sent to the controller for a CCB Recalibrate 
command, and the second Search locates the Seek command. The lOh (Recalibrate) com- 
mand is at F000:30D2h in this example, because the address returned by the Search com- 
mand points to the beginning of the search string, not to the end. 

Remember to add 3 to each location returned for the actual location of the lOh or 70h 
command. The 70h byte, for example, is at F000:309Dh. These "found" locations vary 
from system to system; this example used an IBM AT Model 339 with an 11/15/85 BIOS. 
Therefore, you can change these bytes to lFh and 7Fh, respectively. You must have an 
EPROM programmer to record these changes in another set of chips. 

This section examined some simple changes that you can make in a ROM BIOS with the 
help of an EPROM programmer. The steps involved in modifying or burning the ROMs 
were not described, because these instructions normally are included with the program- 
mer device that you purchase. 




*5 

(6 

3 

r> 

o 

3 

•a 
o 

3 
(6 

3 



320 Chapter 7 — Memory 



Using a Flash BIOS. Flash ROM is a type of EEPROM chip that is included in several 
systems today. EEPROM (electrically erasable programmable read-only memory) is a type 
of ROM chip that you can erase and reprogram directly in the system without using 
ultraviolet light and an EPROM programmer device. Using Flash ROM enables a manu- 
facturer to send out ROM upgrades on disk; you then can load the upgrade into the Flash 
ROM chip on the motherboard without removing and replacing the chip. This method 
saves time and money for both the system manufacturer and the end user. 

Normally, the Flash ROM in a system is write-protected, and you must disable the protec- 
tion before performing an update, usually by means of a jumper or switch that controls 
the lock on the ROM update. Without the lock, any program that knows the right in- 
structions can rewrite the ROM in your system — not a comforting thought. Without the 
write protection, it is conceivable that virus programs could be written that copy them- 
selves directly into the ROM BIOS code in your system! Fortunately, I have not seen an 
implementation of Flash that did not have write-protection capability. 

Most manufacturers that use the Flash BIOS system notify their customers when they 
upgrade the BIOS for a particular system line. Usually, the cost of the upgrade is nomi- 
nal; if your system is new enough, the upgrade may even be free. 

Using I ML System Partition BIOS. IBM uses a scheme similar to a Flash ROM called 
Initial Microcode Load (IML). IML is a technique in which the BIOS code is installed on the 
hard disk in a special hidden system partition and is loaded every time the system is 
powered up. Of course, the system still has a core BIOS on the motherboard, but all that 
BIOS does is locate and load updated BIOS code from the system partition. This tech- 
nique enables IBM to distribute ROM updates on disk for installation in the system parti- 
tion. The IML BIOS is loaded every time the system is reset or powered on. 

Along with the system BIOS code, the system partition contains a complete copy of 
the Reference Diskette, which provides the option of running the setup and system- 
configuration software at any time during a reboot operation. This option eliminates the 
need to boot from the Reference Diskette to reconfigure the system and gives the impres- 
sion that the entire Reference Diskette is contained in ROM. 

One drawback to this technique is that the BIOS code is installed on the (SCSI) hard disk; 
the system cannot function properly without the properly set-up hard disk connected. 
You always can boot from the Reference Diskette floppy, should the hard disk fail or 
become disconnected, but you cannot boot from a standard floppy disk. 



Testing Memory 



The best way to test memory is to install and use it, using your PC system as the testing 
tool. Numerous diagnostics programs are available for testing memory. Many advanced 
diagnostics programs are discussed in Chapter 21, "Software and Hardware Diagnostic 
Tools." Many of these programs, such as the Norton Utilities NDIAGS program, are very 
inexpensive and yet offer very complete memory diagnostics capabilities. One word of 



Summary 321 

advice is that all memory testing should be done on a system booted from a plain DOS 
disk with no memory managers or other resident programs loaded. 

Parity Checking 

As mentioned previously, the memory chips handle eight bits per character of data plus 
an extra bit called the parity bit. Memory-control circuitry uses the parity bit to cross- 
check the integrity of each byte of data. When the circuitry detects an error, the com- 
puter stops and displays a message informing you of the malfunction. Parity checking is 
the first line of defense for memory and other system errors. Notice that many newer 
systems are coming with non-parity SIMMs to save money. This eliminates parity check- 
ing, and increases the likelihood that errors go undetected. 

Power-On Self Test 

The Power-On Self Test (POST), which is in ROM, can be an effective test for problem 
memory. When you turn on your system, the POST checks the major hardware compo- 
nents including memory. If the POST detects a bad memory chip, it displays a warning. 
A more sophisticated disk-based program, however, usually does a better job. 

Advanced Diagnostic Tests 

A number of diagnostic programs can be used to test RAM chips and other system com- 
ponents. For example, Norton Utilities includes a utility called NDIAGS that tests RAM 
chips for defects. Other utility packages that can be used to test RAM chips are discussed vi 

in Chapter 21, "Software and Hardware Diagnostic Tools." For IBM computers, the Ad- * 

vanced Diagnostics Disk contains utilities that can be used to test your system RAM. 

O 
Such programs should be used any time you receive a memory parity error message, or a 3 

memory error in the POST (Power-On Self Test). Even if you do not receive error mes- 
sages, if a properly running system suddenly begins locking up or if strange characters 3 
appear on-screen, you should run a good diagnostics program. Software diagnostics can 3 
help you spot trouble before a hardware problem destroys data. •* 



Summary 



This chapter discussed memory from both a physical and a logical point of view. The 
types of chips and SIMMs that physically comprise the memory in a PC system were 
discussed, and the logical arrangement of this memory was examined. The terms used to 
describe the different regions and the purpose for each region were covered. The chapter 
also looked at ways of reorganizing the system memory and taking advantage of unused 
areas. 




t/» 



Chapter 8 

The Power Supply 



The basic function of the power supply is to convert the type of electrical power available 
at the wall socket to that which is usable by the computer circuitry. The power supply in 



One of the most failure-prone components in any computer system is the power supply. 
The power supply is a critical component in a PC, as it supplies electrical power to every 
component in the system. Because of its importance to proper and reliable system opera- 
tion, you should understand both the function and limitations of a power supply, as well 
as its potential problems and their solutions. 

Power Supply Function and Operation # 

j? 

3 

r> 

a conventional desktop system is designed to convert the 120-volt, 60Hz, AC current O 

into something the computer can use — specifically, both +5- and +12-volt DC current. -H 

Usually, the digital electronic components and circuits in the system (motherboard, 2 
adapter cards, and disk drive logic boards) use the +5-volt power, and the motors (disk 

drive motors and any fans) use the +12-volt power. You must ensure a good, steady sup- J 
ply of both types of current so that the system can operate properly. 

If you look at a specification sheet for a typical PC power supply, you see that the supply 
generates not only +5v and +12v, but also -5v and -12v. Because it would seem that the 
+5v and +12v signals power everything in the system (logic and motors), what are the 
negative voltages used for? The answer is not much! In fact, these additional negative 
voltages are not really used at all in modern systems. 

Although -5v and -12v are supplied to the motherboard via the power supply connec- 
tors, the motherboard uses only the +5 v. The -5v signal is simply routed to the ISA Bus 
on pin B5 and is not used in any way by the motherboard. It was originally used by the 
analog data separator circuits found in older floppy controllers, which is why it was sup- 
plied to the bus. Because modern controllers do not need the -5v, it is no longer used 
but is still required because it is part of the ISA Bus standard. Note that power supplies 
in systems with a Micro Channel Architecture (MCA) Bus do not have -5v. This power 
signal was never needed in these systems, as they always used a more modern floppy 
controller design. 



324 Chapter 8 — The Power Supply 

Both the +12v and -12v signals also are not used by the motherboard logic and instead 
are simply routed to pins B9 and B7 of the ISA Bus, respectively. These voltages can be 
used by any adapter card on the bus, but most notably they are used by serial port driver/ 
receiver circuits. If the motherboard has serial ports built in, the +12v and -12v signals 
can be used for those ports. Notice that the load placed on these voltages by a serial port 
would be very small. For example, the PS/2 Dual Async adapter uses only 35mA of +12v 
and 35mA of -12v (0.035 amps each) to operate two ports. 

Most newer serial port circuits no longer use 12v driver/receiver circuits, but instead now 
use circuits that run on only 5v or even 3.3v. If you have one of these modern design 
ports in your system, the -12v signal from your power supply is likely to be totally un- 
used by anything in the system. 

The main function of the +12v power is to run disk drive motors. Usually a large amount 
of current is available, especially in systems with a large number of drive bays, such as in 
a tower configuration. Besides disk drive motors, the +12v supply is used by any cooling 
fans in the system, which of course should always be running. A single cooling fan can 
draw between 100mA to 250mA (0.1 to 0.25 amps); however, most newer ones use the 
lower 100mA figure. Note that although most fans run on +12v, most portable systems 
use fans that run on +5v or even 3.3v instead. 

In addition to supplying power to run the system, the power supply also ensures that the 
system does not run unless the power being supplied is sufficient to operate the system 
properly. In other words, the power supply actually prevents the computer from starting 
up or operating until all the correct power levels are present. Each power supply com- 
pletes internal checks and tests before allowing the system to start. The power supply 
sends to the motherboard a special signal, called PowerGood. If this signal is not 
present, the computer does not run. The effect of this setup is that when the AC voltage 
dips and the power supply becomes over-stressed or overheated, the PowerGood signal 
goes down and forces a system reset or complete shutdown. If your system has ever 
seemed dead when the power switch is on and the fan and hard disks are running, you 
know the effects of losing the PowerGood signal. 

IBM originally used this conservative design with the view that if the power goes low or 
the supply is overheated or over-stressed, causing output power to falter, the computer 
should not be allowed to operate. You even can use the PowerGood feature as a method 
of designing and implementing a reset switch for the PC. The PowerGood line is wired 
to the clock generator circuit (an 8284 or 82284 chip in the original PC/XT and AT sys- 
tems), which controls the clock and reset lines to the microprocessor. When you ground 
the PowerGood line with a switch, the chip and related circuitry stop the processor by 
killing the clock signal and then reset the processor when the PowerGood signal appears 
after you release the switch. The result is a full hardware reset of the system. 

Instructions for installing such a switch in a system not already equipped can be found 
later in this chapter. 



Power Supply Function and Operation 325 

Power Supply Form Factors 

The shape and general physical layout of a component is called the form factor, and items 
that share form factor are generally interchangeable. When a system is designed, the 
designers can choose to use one of the popular standard form factors, or they can "roll 
their own." Choosing the former means that a virtually inexhaustible supply of inexpen- 
sive replacements is available in a variety of quality and power output levels. Going the 
custom route means that the supply will be unique to the system and available only 
from the original manufacturer in only the model or models they produce. If you cannot 
tell already, I am a fan of the industry-standard form factors! 

The form factor of the power supply that a particular system uses is based on the case 
design. Six popular case and power supply types can be called "industry standard." The 
different types are 

■ PC/XT style 

■ AT/Desk style 

■ AT/Tower style 

■ Baby AT style 

■ Slim style t/» 

■ ATX style J 

3 

Each of these supplies are available in numerous different configurations and output Q 

levels. 3 

•a 

When IBM introduced the XT, it used the same basic power supply shape as the original 
PC, except that the new XT supply had more than double the power output capability § 

(see fig. 8.1). Because they were identical in both external appearance and the type of Cf 

connectors used, you could easily install the better XT supply as an upgrade for a PC 
system. Because of the tremendous popularity of the original PC and XT design, a num- 
ber of manufacturers began building systems that mimicked their shape and layout. 
These clones, as they have been called, could interchange virtually all components with 
the IBM systems, including the power supply. Numerous manufacturers have since be- 
gun producing these components, and nearly all follow the form factor of one or more 
IBM systems. 

When IBM later introduced the AT desktop system, it created a larger power supply that 
had a form factor different from the original PC/XT. This system was rapidly cloned as 
well, and to this day still represents the basis for most IBM-compatible designs. The 
power supply used in these systems is called the AT/Desktop style power supply (see fig. 
8.2). Hundreds of manufacturers now make motherboards, power supplies, cases, and so 
on that are physically interchangeable with the original IBM AT. If you are buying a 
compatible system, I recommend those that have form factors compatible with the IBM 
AT, because you will have numerous motherboards and power supplies from which to 
choose. 



326 



Chapter 8 — The Power Supply 



B 

1 | 





Figure 8.1 

PC/XT-form factor power supply. 

The compatible market has come up with a couple of other variations on the AT theme 
that are popular today. Besides the standard AT/Desktop type power supply, we also have 
the AT/Tower configuration, which is basically a full-sized AT-style desktop system run- 
ning on its side. The power supply and motherboard form factors are basically the same 
in the Tower system as in the Desktop. The tower configuration is not new, in fact even 
IBM's original AT had a specially mounted logo that could be rotated when you ran the 
system on its side in the tower configuration. The type of power supply used in a tower 
system is identical to that used in a desktop system, except for the power switch loca- 
tion. Most AT/Desktop systems required that the power switch be located right on the 
power supply itself, while most AT/Tower systems use an external switch attached to the 
power supply through a short 4-wire cable. A full sized AT power supply with a remote 
switch is now called an AT/Tower form-factor supply (see fig. 8.3). 

Another type of AT based form factor that has been developed is the so called Baby AT, 
which is simply a shortened version of the full sized AT system. The power supply in 
these systems is shortened on one dimension; however, it matches the AT design in all 
other respects. These Baby AT-style power supplies can be used in both Baby AT chassis 
and the larger AT-style chassis; however, the full size AT/Tower power supply does not fit 
in the Baby AT chassis (see fig. 8.4). 



Power Supply Function and Operation 



327 




8.35"x5.9"x5.9" 



Figure 8.2 

AT/Desktop form factor power supply. 

The fifth type of form factor that has developed is the Slimline (see fig. 8.5). These sys- 
tems use a different motherboard configuration that mounts the slots on a "riser" card 
that plugs into the motherboard. The expansion cards plug into this riser and are 
mounted sideways in the system. These types of systems are very low in height, hence 
the name "Slimline." A new power supply was specifically developed for these systems 
and allows interchangeability between different manufacturers' systems. Some problems 
with motherboard interchanges occur because of the riser cards, but the Slimline power 
supply has become a standard in its own right. 

The slimline power supply is by far the most popular power supply design in use today. 
Despite how it might sound, even most full sized AT Desktop and Tower cases today are 
designed to accept the slimline form factor power supply. 

The newest standard on the market today is the ATX form factor (see fig. 8.6). This de- 
scribes a new motherboard shape, as well as a new case and power supply form factor. 
The ATX supply is based on the slimline or low-profile design, but has several differences 
worth noting. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



328 



Chapter 8 — The Power Supply 




8.35"x5.9"x5.9 



Figure 8.3 

AT/Tower form factor power supply. 

One difference is that the fan is now mounted along the inner side of the supply, blow- 
ing air across the motherboard and drawing it in from the outside at the rear. This flow is 
opposite most standard supplies, which blow air out the back of the supply and also have 
the fan positioned at the back. The reverse flow cooling used in the ATX supply forces air 
over the hottest components of the board, such as the CPU, SIMMs, and expansion slots. 
This eliminates the need for the notoriously unreliable CPU fans that have unfortunately 
become common today. Another benefit of the reverse flow cooling is that the system 
will remain cleaner and free from dust and dirt. The case is essentially pressurized, so air 
will push out of the cracks in the case, the opposite of what happens in non-ATX sys- 
tems. For example, if you held a lit cigarette in front of your floppy drive on a normal 



Power Supply Function and Operation 



329 



system, the smoke would be inhaled through the front of the drive and contaminate the 
heads! On an ATX system with reverse flow cooling, the smoke would be blown out 
away from the drive because the only air intake is the single fan vent on the power sup- 
ply at the rear. Systems that operate in extremely harsh environments could add a filter 
to the fan intake vent, which would ensure even further that all air entering the system 
is clean and dust free. 





VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



6.5"x5.9"x5.9 



Figure 8.4 

Baby-AT form factor power supply. 



330 



Chapter 8 — The Power Supply 




Figure 8.5 

Slimline/Low Profile form factor power supply. 

The ATX system format was designed by Intel in 1995, but became popular in the new 
Pentium Pro based PCs in '96. The ATX form factor takes care of several problems with 
the Baby AT or slimline form factors, and where the power supply is concerned this cov- 
ers two main problems. One is that the traditional PC power supply since the original 
one used in the IBM PC has two connectors that plug into the motherboard. The prob- 
lem is that if you insert these connectors backwards or out of their normal sequence, you 
will fry the motherboard! Most responsible system manufacturers will have the 
motherboard and power supply connectors keyed so they cannot be installed backwards 
or out of sequence, but many of the cheaper system vendors to not feature this keying 
on the boards or supplies they use. 

To solve the potential for disaster that awaits those who might plug their power supply 
connectors incorrectly, the ATX form factor includes a new power plug for the 
motherboard. This new connector features 20 pins, and is a single keyed connector. It is 
virtually impossible to plug it in backwards, and since there is only one connector in- 
stead of two almost identical ones, it will be impossible to plug them in out of sequence. 
The new connector also can optionally supply 3.3v, eliminating the need for voltage 
regulators on the motherboard to power the CPU and other 3.3v circuits. Although the 
3.3v signals are labeled as optional in the ATX specification, they should be considered 
mandatory in any ATX form factor power supply you purchase. Many systems will re- 
quire this in the future. 



Power Supply Function and Operation 



331 




COM 
PS-ON 
COM 
COM 
COM 



Figure 8.6 

ATX form factor power supply. 



© 


□ 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 


© 



COM 

PW-OK 

5VSB 



ATX Power c< 



Besides the new 3.3v signals, there is one other set of signals that will be found on the 
ATX supply not normally seen on standard supplies. They are the PowerOn and 
5v_Standby signals, which are also called Soft Power. PowerOn is a motherboard signal 
that can be used with operating systems like Windows 95 or Windows NT, which sup- 
port the ability to power the system down with software. This will also allow the op- 
tional use of the keyboard to power the system back on, exactly like the Apple Macintosh 
systems. The 5v_Standby signal is always active, giving the motherboard a limited source 
of power even when off. 

The other problem solved by the ATX form factor power supply is that of system cooling. 
Most of the high end Pentium and Pentium Pro systems have active heat sinks on the 
processor, which means there is a small fan on the CPU designed to cool it. These small 
fans are notoriously unreliable, not to mention expensive when compared to standard 
passive heatsinks. In the ATX design, the CPU fan is eliminated, and the CPU is mounted 
in a socket right next to the ATX power supply, which has a reverse flow fan blowing 
onto the CPU. The ATX supply draws air from outside and pressurizes the system case 
instead of the other way around. Essentially the airflow is backwards from before, which 
results in far better cooling for the processor and other system components. 

You will find it easy to locate supplies that fit these industry-standard form factors. 
Several vendors who manufacture PC power supplies in all these form factors are listed 
later in this chapter. For proprietary units, you will likely have to go back to the manu- 
facturer. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



332 



Chapter 8 — The Power Supply 



Power Supply Connectors 

Table 8.1 shows the pinouts for most standard AT or PC/XT-compatible systems. Some 
systems may have more or fewer drive connectors. For example, IBM's AT system power 
supplies have only three disk drive power connectors, although most of the currently 
available AT/Tower type power supplies have four drive connectors. If you are adding 
drives and need additional disk drive power connectors, "Y" splitter cables are available 
from many electronics supply houses (including Radio Shack) that can adapt a single 
power connector to serve two drives. As a precaution, make sure that your total power 
supply output is capable of supplying the additional power. 



Table 8.1 Typical PC/XT and AT Power Supply Connections 



Connector AT Type 



PC/XT Type 



P8-1 


Power_Cood (+5v) 


Power_i 


3ood (+5v) 


P8-2 


+5v 




Key (No connect) 


P8-3 


+12v 




+12v 




P8-4 


-12v 




-12v 




P8-5 


Ground (0) 


Ground 


(0) 


P8-6 


Ground 


(0) 


Ground 


(0) 


P9-1 


Ground 


(0) 


Ground 


(0) 


P9-2 


Ground 


(0) 


Ground 


(0) 


P9-3 


-5v 




-5v 




P9-4 


+5v 




+5v 




P9-5 


+5v 




+5v 




P9-6 


+5v 




+5v 




PI 0-1 


+12v 




+12v 




PI 0-2 


Ground 


(0) 


Ground 


(0) 


PI 0-3 


Ground 


(0) 


Ground 


(0) 


PI 0-4 


+5v 




+5v 




PI 1-1 


+12v 




+12v 




P1 1-2 


Ground 


(0) 


Ground 


(0) 


P1 1-3 


Ground 


(0) 


Ground 


(0) 


P1 1-4 


+5v 




+5v 




P12-1 


+12v 




— 




PI 2-2 


Ground 


(0) 


— 




P12-3 


Ground 


(0) 


— 




PI 2-4 


+5v 




— 




P13-1 


+12v 




— 




P13-2 


Ground 


(0) 


— 




P13-3 


Ground 


(0) 


— 




P13-4 


+5v 




— 





Power Supply Function and Operation 



333 



Notice that the Baby AT and Slimline power supplies also use the AT/Desktop or Tower 
pin configuration. The only other type of industry standard power supply connector is 
found on the new ATX form factor power supply. This is a 20-pin keyed connector with 
pins configured as shown in table 8.2. 



Table 8.2 ATX Power Supply Connections 



Signal Pin 



Pin 



Signal 



3.3v* 


11 


1 


3.3v* 


-12v 


12 


2 


3.3v* 


GND 


13 


3 


GND 


Pwr_On 


14 


4 


5v 


GND 


15 


5 


GND 


GND 


16 


6 


5v 


GND 


17 


7 


GND 


-5v 


18 


8 


Pwr_Good 


5v 


19 


9 


5v_Stby 


5v 


20 


10 


12v 


Optional signal 







Notice that the ATX supply features several signals not seen before, such as the 3.3v, 
PowerOn, and 5v_Standby signals. Because of this, it will be difficult to adapt a standard 
slimline or low-profile form factor supply to work properly in an ATX system, although 
the shapes are virtually identical. 

Although the PC/XT power supplies do not have any signal on pin P8-2, you can still use 
them on AT-type motherboards, or vice versa. The presence or absence of the +5v signal 
on that pin has little or no effect on system operation. If you are measuring voltages for 
testing purposes, anything within 10 percent is considered acceptable, although most 
manufacturers of high-quality power supplies specify a tighter five percent tolerance (see 
table 8.3). I prefer to go by the five percent tolerance, which is a tougher test to pass. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



Table 8.3 


Power Supply Acceptable Voltage Ranges 






Loose Tolerance 


Tight Tolerance 


Desired 
Voltage 


Min. (-10%) Max. (+8%) 


Min. (-5%) 


Max. (+5%) 


+/-5.0v 
+/-12.0v 


4.5v 5.4v 
10.8v 12.9v 


4.75 
11.4 


5.25 
12.6 



The PowerGood signal has tolerances different from the other signals, although it is 
nominally a +5v signal in most systems. The trigger point for PowerGood is about 
+2.5v, but most systems require the signal voltage to be within the tolerances listed in 
table 8.4. 



334 



Chapter 8 — The Power Supply 



Table 8.4 Power Good Signal Acceptable Range 



Signal 



Minimum Maximum 



Power_Good (+5v) 3.0v 



6.0v 



A power supply should be replaced if the voltages are out of these ranges. A later section 
in this chapter details how to measure the power supply voltage and where to get re- 
placement supplies. 

Power Switch Connectors. The AT/Tower and Slimline power supplies use a remote 
power switch. This switch is mounted in the front of the system case and is connected to 
the power supply through a standard type of 4-wire cable. The ends of the cable are fitted 
with spade connector lugs, which plug onto the spade connectors on the power switch. 
The switch is usually a part of the case, so the power supply comes with the cable and no 
switch. 

The cable from the power supply to the switch in the case contains four color coded 
wires. There may also be a 5th wire supplying a ground connection to the case as well. 
These wires carry llOv wall current, so be careful as you can be electrocuted if you touch 
them with the power supply plugged in. 



Caution 



The remote power switch leads carry 1 1 0v AC current at all times. You could be electrocuted if you 
touch the ends of these wires with the power supply plugged in! Always make sure the power 
supply is unplugged before connecting or disconnecting the remote power switch. 



The four or five wires are color coded as follows; the Brown and Blue wires are the live 
and neutral feed wires from the llOv power cord to the power supply itself. These wires 
are always hot when the power supply is plugged in. The Black and White wires carry the 
AC feed from the switch back to the power supply itself. These leads should only be hot 
when the power supply is plugged in and the switch is turned on. Finally, there is often 
a green wire or a green wire with a yellow stripe, which is the ground lead. It should be 
connected somewhere to the PC case, and helps to ground the power supply to the case. 

On the switch itself, the tabs for the leads are usually color coded, if not they can still be 
easily connected. If there is no color coding on the switch, then plug the Blue and Brown 
wires onto the tabs that are parallel to each other, and the Black and White wires to the 
tabs that are angled away from each other. See figure 8.7 as a guide. 

As long as the Blue and Brown wires are on the one set of tabs, and the Black and White 
leads are on the other, the switch and supply will work properly. If you incorrectly mix 
the leads, you will likely blow the circuit breaker for the wall socket, as you can create a 
direct short circuit. 



Power Supply Function and Operation 



335 



White 



Blue 



■^^^^^ % 






Q 


E! 1 


9 


m 1 



Black 



Brown 



Vp 



Figure 8.7 

Power supply remote switch connections. 

Disk Drive Power Connectors. The disk drive connectors are fairly universal with re- 
gard to pin configuration and even wire color. Table 8.5 shows the standard disk drive 
power connector pinout and wire colors. 



Table 8.5 Disk Drive Power Connector Pinout 




Pin Wire Color Signal 



1 


Yellow 


+12v 


2 


Black 


Cnd 


3 


Black 


Cnd 


4 


Red 


+5v 



This information applies whether the drive connector is the larger Molex version or the 
smaller mini-version used on most 3.5-inch floppy drives. In each case, the pinouts and 
wire colors are the same. To determine the location of pin 1, look at the connector care- 
fully. It is usually embossed in the plastic connector body; however, it is often tiny and 
difficult to read. Fortunately these connectors are keyed and therefore are difficult to 
insert incorrectly. The following figure shows the keying with respect to pin numbers on 
the larger drive power connector. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



+12 


Gnd 


Gnd 


+5 


5 

o 


jz 


_* 




o 


c_> 




CD 


CO 


CO 


CD 


>- 


CO 


CD 


CC 


(o 


o 





ol 



1 



Figure 8.8 

A disk drive female power supply cable connector. 



336 



Chapter 8 — The Power Supply 



Notice that some drive connectors may supply only two wires — usually the +5v and a 
single ground (Pins 3 and 4) — because the floppy drives in most newer systems run on 
only +5v and do not use the +12v at all. 

Physical Connector Part Numbers. The physical connectors used in industry-standard 
PC power supplies were originally specified by IBM for the supplies used in the original 
PC/XT/ AT systems. They used a specific type of connector between the power supply and 
the motherboard (the P8 and P9 connectors), as well as specific connectors for the disk 
drives. The motherboard connectors used in all the industry-standard power supplies 
have not changed since 1981 when the IBM PC appeared. With the advent of 3.5-inch 
floppy drives in 1986, however, a new smaller type of drive power connector appeared 
on the scene for these drives. Table 8.6 lists the standard connectors used for 
motherboard and disk drive power. 



Table 8.6 Physical Power Connectors 



Connector 
Description 



Female 

(on Power Cable) 



Male 

(on Component) 



Motherboard P8/P9 


Burndy CTC6P-1 


Burndy GTC 6RI 


Disk Drive (large style) 


AMP 1-480424-0 


AMP 1-480426-0 


Disk Drive (small style) 


AMP 171822-4 


AMP 171826-4 



You can get these raw connectors through the electronics supply houses (Allied, Newark, 
Digi-Key, and so on) found in the vendor list. You also can get complete cable assemblies 
including drive adapters from the large to small connectors, disk drive "Y" splitter cables, 
and motherboard power extension cables from a number of the cable and miscellaneous 
supply houses such as Cables To Go, the Cable Connection, Ci Design, and Key Power. 

The Power Good Signal 

The PowerGood signal is a +5v signal (+3.0 through +6.0 is generally considered accept- 
able) generated in the power supply when it has passed its internal self tests and the 
outputs have stabilized. This normally takes anywhere from 0.1 to 0.5 seconds after you 
turn on the power supply switch. This signal is sent to the motherboard, where it is re- 
ceived by the processor timer chip, which controls the reset line to the processor. 

In the absence of PowerGood, the timer chip continuously resets the processor, which 
prevents the system from running under bad or unstable power conditions. When the 
timer chip sees PowerGood, it stops resetting the processor and the processor begins 
executing whatever code is at address FFFF:0000 (usually the ROM BIOS). 

If the power supply cannot maintain proper outputs (such as when a brownout occurs), 
the PowerGood signal is withdrawn, and the processor is automatically reset. When 
proper output is restored, the PowerGood signal is regenerated and the system again 
begins operation (as if you just powered on). By withdrawing PowerGood, the system 
never "sees" the bad power because it is "stopped" quickly (reset) rather than allowed to 
operate on unstable or improper power levels, which can cause parity errors and other 
problems. 



Power Supply Function and Operation 337 

In most systems, the PowerGood connection is made via connector P8-1 (P8 Pin 1) from 
the power supply to the motherboard. 

A well-designed power supply delays the arrival of the PowerGood signal until all volt- 
ages stabilize after you turn the system on. Badly designed power supplies, which are 
found in many low-cost compatibles, often do not delay the PowerGood signal properly 
and enable the processor to start too soon. The normal PowerGood delay is from 0.1 to 
0.5 seconds. Improper PowerGood timing also causes CMOS memory corruption in 
some systems. If you find that a system does not boot up properly the first time you turn 
on the switch but subsequently boots up if you press the reset or Ctrl-Alt-Del warm boot 
command, you likely have a problem with PowerGood. This happens because the 
PowerGood signal is tied to the timer chip that generates the reset signal to the proces- 
sor. What you must do in these cases is find a new high-quality power supply and see 
whether it solves the problem. 

Many cheaper power supplies do not have proper PowerGood circuitry and often just 
tie any +5v line to that signal. Some motherboards are more sensitive to an improperly 
designed or improperly functioning PowerGood signal than others. Intermittent startup 
problems are often caused by improper PowerGood signal timing. A common example 
occurs when somebody replaces a motherboard in a system and then finds that the sys- 
tem intermittently fails to start properly when the power is turned on. This ends up be- ^ 
ing very difficult to diagnose, especially for the inexperienced technician, because the «! 



problem appears to be caused by the new motherboard. Although it seems that the new 
motherboard might be defective, it usually turns out to be that the original power supply 



the new board, or more likely has an improperly wired or timed PowerGood signal. In 



n 
3 



is poorly designed and either cannot produce stable enough power to properly operate O 



3 

•a 



these situations, replacing the supply with a high-quality unit is the proper solution. O 

n 
Adding a Hardware Reset Switch. A switch that applies a full reset to your system 

keeps power moving to the system and rescues you from a system lockup. A reset switch 

saves you much time, as well as some of the wear and tear on your unit from using the 

power switch as a reset button. IBM and most vendors of compatibles have built reset 

circuitry into the motherboard and added reset switches to the front of the computer 

case. If your machine doesn't already have a reset switch, however, the following section 

teaches you how to add one. (The hardest part of adding a reset switch to your system is 

figuring out where to mount it.) 

Adding a reset button is possible on any system, including all IBM systems, because it 
has a power supply that provides a Power Good signal. On most IBM-compatible com- 
puters, the Power Good signal is on the connector that plugs into the rearmost power- 
supply connectors. In PC and XT systems, this signal traces through the motherboard to 
the 8284a chip at Pin 11. When the line is shorted to ground and returned to normal, 
the 8284a (82284, in an AT) clock-timer chip generates a reset signal on Pin 10. The reset 
signal is sent to the 8088 at Pin 21, and the boot process begins. In other systems that 
have different processors and timer chips — for example, AT and PS/2 systems — the Power 
Good signal also initiates a reset if the signal is grounded and returned to normal, al- 
though the wiring details vary. 



338 Chapter 8 — The Power Supply 

In all IBM-compatible systems, when the CPU is reset, it begins to execute code at 
memory location FOOO:FFFO, which is known as the power-up reset vector. An immediate 
jump instruction at this location sends the CPU's instruction pointer to the start location 
for the particular system ROM. The system then begins the POST. The processor and 
DMA chips are tested first, but before the system initiates the full POST memory test, it 
compares the memory location 0000:0472 with the value 1234h. If these values are 
equal, a warm start is indicated, and the POST memory tests are skipped. If any other 
value appears, a cold start occurs, forcing all memory to be tested. 

This procedure is the basis of an effective reset switch. By setting the flag value at 
memory location 0000:0472, you can have the system perform either a cold or warm 
start when you press a reset button. The type of reset — a hardware reset — unfreezes a 
locked-up machine, unlike the Ctrl-Alt-Del software reset command. 

To add a reset switch, you need these parts: 

■ Six inches of thin (about 20-gauge) insulated wire 

■ A single-pole, normally open, momentary-contact push-button switch 

The idea behind installing a reset switch is to run a momentary-contact switch parallel 
with the Power Good line and ground. To do so, follow these steps: 

1 . Remove from the motherboard the power-supply connector that contains the 
Power Good signal. 



Check your technical-reference manual to make sure that you have the right connector and 
can identify the signal wire that contains the Power Good signal. Sometimes this informa- 
tion is on a sticker attached to the power supply. 



2. Poke the stripped end of a wire into the hole in the power-supply connector in 
which the Power Good signal is carried. 

3. Plug the connector, with the wire inserted, back into the motherboard. 

4. Run the other end of the wire under one of the screws that secures the 
motherboard. The screw serves as a ground. 

5. Cut the wire in the middle, bare the ends, and attach the stripped wire ends to the 
normally open, single-pole, momentary-contact push-button switch. 

6. Run the wire and the switch outside the case. 

You now should have a functioning reset button. You can mount the switch to an avail- 
able place on the unit (such as an empty card bracket) in which you can drill a small 
hole to accept the switch. Another idea is to select a blank spot on the front of the case 
and drill a hole to mount it there. If you do drill through a metal case, make sure that 
the metal filings do not fall on the motherboard! 



Power Supply Function and Operation 339 

A simple button and wire are sufficient for adding a reset switch, but as a safety precau- 
tion, you can place a 1/4-watt resistor with a value between IK ohms and 2.7K ohms 
inline with the wire from the Power Good line to the switch. The reason for adding the 
resistor is that the Power Good signal is provided by a PNP transistor inside the power 
supply, with its emitter connected to the +5 volt signal. Without the resistor, shorting 
the Power Good signal to ground for a long period can burn out the transistor. 

When you press the switch, you initiate the boot sequence. The boot process that occurs 
(warm or cold) depends on the status of memory location 0000:0472. The value at this 
location is OOOOh when you first power up the system and until you press Ctrl+Alt+Del 
for the first time. If the last boot operation was a cold boot (an initial power-on), every 
subsequent time that you press the reset button, a cold boot occurs. After you press 
Ctrl+Alt+Del once to initiate a manual warm-boot sequence, every subsequent time that 
you press the reset button you initiate a warm boot that skips the memory tests. 

To eliminate the need to press Ctrl+Alt+Del after you start the system every day to "set" 
the reset button for subsequent warm-boot operations, you can enter a program, using 
DEBUG, that produces a WARMSET.COM program to run in your AUTOEXEC.BAT file. 
This simple program quickly sets the memory flag to indicate that a warm boot should 
be initiated when the reset switch is pressed. 

To create WARMSET.COM, make sure that you have the DEBUG program available in »< 



the path, and then enter these commands at the DOS prompt: 



xxxx:010B INT 20 

xxxx:010D 

-R CX 

CX 0000 

:D 

-W 

Writing 0000D bytes 

-Q 

Unlike the Ctrl+Alt+Del combination, the hardware reset cannot be ignored by your 
system, no matter how locked up the system is. 

The Phoenix BIOS sets the warm-boot flag during every boot sequence, regardless of 
whether the boot is warm or cold. Immediately after power-up, therefore, the flag is zero, 
which causes the standard POST test to run. Immediately after the POST, the Phoenix 
BIOS sets the flag for a warm boot, because many compatibles that use the Phoenix BIOS 
have a reset button integrated into the system. This reset button works the same way as 
the button that you can construct. Because of the warm-boot flag's automatic setting, a 
warm boot occurs every time you press the reset button, no matter what the last boot 
was. If you want a cold boot to occur (including POST), you can create a COLDSET.COM 
program, also using DEBUG. 



C:\>DEBUG 

-N WARMSET.COM £ 

-A 100 3, 

xxxx:0100 MOV AX, 0040 "0 

xxxx:0103 MOV DS.AX 2 



xxxx:0105 MOV WORD PTR [0072], 1234 (6 



3 



340 Chapter 8 — The Power Supply 

To create COLDSET.COM, enter these commands: 

C:\>DEBUG 

-N C0LDSET.COM 

-A 100 

xxxx:0100 MOV AX, 0040 

xxxx:0103 MOV DS,AX 

xxxx:0105 MOV WORD PTR [0072], 0000 

xxxx:010B INT 20 

xxxx:010D 

-R CX 

CX 0000 

:D 

-W 

Writing 0000D bytes 

-Q 

This procedure causes a reset button to initiate a cold boot with POST tests, no matter 
which BIOS you have. 

An interesting variation on these programs is to produce two additional companion 
programs called WARMBOOT.COM and COLDBOOT.COM. As their names indicate, 
these programs go one step further than the WARMSET.COM and COLDSET.COM pro- 
grams: they not only set the flag, but also cause an immediate boot. 

You may wonder why you would need that operation when you can just press 
Ctrl+Alt+Del or turn the power off and on to reboot the system. The answer is that with 
these programs, you can initiate the boot you want from a batch file with no operator 
intervention. 

I use the WARMBOOT.COM program in batch files that copy new CONFIG.SYS files to 
my root directory and then reboot the system automatically to initiate the new configu- 
ration. For example, one batch file copies a CONFIG.SYS file, which loads local-area net- 
work (LAN) drivers, as well as a new AUTOEXEC.BAT file, to the root directory of the C 
drive. The AUTOEXEC.BAT file has commands that automatically log on to the network. 
In seconds, my network is up and running, and I am automatically logged on, with only 
one command. You probably can come up with other uses for these programs. 



If you have DOS 6.x or higher, you can create customized boot menus that replace this whole 
process. Both CONFIG.SYS and AUTOEXEC.BAT can have configuration blocks that allow you to 
pick one of several configurations. 



To create WARMBOOT.COM, enter these commands: 

C:\>DEBUG 

-N WARMB00T.COM 

-A 100 

xxxx:0100 MOV AX, 0040 

xxxx:0103 MOV DS,AX 



Power Supply Function and Operation 341 

xxxx:0105 MOV WORD PTR [0072], 1234 

xxxx:010B JMP FFFF:0 

xxxx:01 10 

-R CX 

CX 0000 

:10 

-W 

Writing 00010 bytes 

-Q 

To create COLDBOOT.COM, enter these commands: 

C:\>DEBUG 

-N C0LDB00T.COM 

-A 100 

xxxx:0100 MOV AX, 0040 

xxxx:0103 MOV DS,AX 

xxxx:0105 MOV WORD PTR [0072], 0000 

xxxx:010B JMP FFFF:0 

xxxx:01 10 

-R CX 

CX 0000 

:10 

-W 

Writing 00010 bytes 

-Q $ 

VI 

Whether or not you have a reset button, the WARMBOOT.COM and COLDBOOT.COM 

programs can be useful. 3 

n 

o 

Power Supply Loading s 

PC power supplies are of a switching rather than a linear design. The switching type of 

design uses a high speed oscillator circuit to generate different output voltages, and is 3 

very efficient in size, weight and energy compared to the standard linear design, which 3 

uses a large internal transformer to generate different outputs. "• 

One characteristic of all switching type power supplies is that they do not run without a 
load. This means that you must have the supply plugged into something drawing +5v 
and +12v or the supply does not work. If you simply have the supply on a bench with 
nothing plugged into it, the supply burns up or protection circuitry shuts it down. Most 
power supplies are protected from no-load operation and will shut down. Some of the 
cheap clone supplies, however, lack the protection circuit and relay and are destroyed 
after a few seconds of no-load operation. A few power supplies have their own built-in 
load resistors, so that they can run even though no normal load is plugged in. 

According to IBM specifications for the standard 192-watt power supply used in the 
original AT, a minimum load of 7.0 amps was required at +5v and a minimum load of 
2.5 amps was required at +12v for the supply to work properly. Because floppy drives 
present no +12v load unless they are spinning, systems without a hard disk drive often 
do not operate properly. Most power supplies have a minimum load requirement for 
both the +5v and +12v sides, and if you fail to meet this minimum load, the supply shuts 
down. 



342 Chapter 8 — The Power Supply 

Because of this characteristic, when IBM used to ship AT systems without a hard disk, 
they had the hard disk drive power cable plugged into a large 5-Ohm 50-watt sandbar 
resistor mounted in a little metal cage assembly where the drive would have been. The 
AT case had screw holes on top of where the hard disk would go specifically designed to 
mount this resistor cage. Several computer stores I knew in the mid 1980s would order 
the diskless AT and install their own 20M or 30M drives, which they could get more 
cheaply from other sources than IBM. They were throwing away the load resistors by the 
hundreds! I managed to grab a couple at the time, which is how I know the type of resis- 
tor they used. 

This resistor would be connected between pin 1 (+12v) and pin 2 (Ground) on the hard 
disk power connector. This placed a 2.4-amp load on the supply's 12-volt output drawing 
28.8 watts of power — it would get hot! — thus enabling the supply to operate normally. 
Note that the cooling fan in most power supplies draws approximately 0.1 to 0.25 amps, 
bringing the total load to 2.5 amps or more. If the load resistor was missing, the system 
would intermittently fail to start up or operate properly. The motherboard draws +5v at 
all times, but +12v is normally used only by motors and the floppy drive motors are off 
most of the time. 

Most of the 200-watt power supplies in use today do not require as much of a load as the 
original IBM AT power supply. In most cases a minimum load of 2.0 to 4.0 amps at +5v 
and a minimum load of 0.5 to 1.0 amps at +12v are considered acceptable. Most 
motherboards will easily draw the minimum +5v current by themselves. The standard 
power supply cooling fan draws only 0.1 to 0.25 amps, so the +12v minimum load may 
still be a problem for a diskless workstation. Generally the higher the rating on the sup- 
ply, the more minimum load is required, however there are exceptions so this is a specifi- 
cation you want to check into. 

Some high-quality switching power supplies, like the Astec units used by IBM in all the 
PS/2 systems, have built-in load resistors and can run under a no-load situation because 
the supply loads itself. Most of the cheaper clone supplies do not have built-in load resis- 
tors, so they must have both +5v and +12v loads to work. 



If you are setting up a "diskless" workstation, it is a good idea to install a load resistor or the power 
supply may cause intermittent system problems. You can construct the same type of load resistor 
that IBM originally used by connecting a 5-Ohm, 50-watt sandbar resistor between pins 1 and 2 
on a disk drive power connector. You need to worry only about loading the +12v power, because 
the motherboard places a load on the +5v outputs. 



If you want to bench test a power supply, make sure that loads are placed on both the 
+5v and +12v outputs. This is one reason that it is best to test the supply while it is in- 
stalled in the system instead of separately on the bench. For impromptu bench testing, 
you can use a spare motherboard and hard disk drive to load the +5v and +12v outputs, 
respectively. Information on building your own load resistor network for bench testing 
power supplies is covered later in this chapter. 



Power Supply Function and Operation 



343 



Power-Supply Ratings 

Most system manufacturers will provide you with the technical specifications of each of 
their system-unit power supplies. This type of information is usually found in the 
system's technical-reference manual and also on stickers attached directly to the power 
supply. Power supply manufacturers can supply this data, which is preferable if you can 
identify the manufacturer and contact them directly. 

Tables 8.6 and 8.7 list power-supply specifications for several of IBM's units, from which 
most of the compatibles are derived. The PC-system power supplies are the original units 
that most compatible power supplies have duplicated. The input specifications are listed 
as voltages, and the output specifications are listed as amps at several voltage levels. IBM 
reports output wattage level as "specified output wattage." If your manufacturer does not 
list the total wattage, you can convert amperage to wattage by using the following simple 
formula: 

Wattage = Voltage * Amperage 

By multiplying the voltage by the amperage available at each output and then adding 
them up, you can calculate the total capable output wattage of the supply. 



Table 8.7 Power Supply Output Ratings for IBM "Classic" Systems 


VI 




PC 


Port-PC 


XT 


XT 286 


AT 


it 
ft 

3 
n 


Minimum Input Voltage 


104 


90 


90 


90 


90 


Maximum Input Voltage 


127 


137 


137 


137 


137 




3 

■o 


3 
ft 

3 
it 


Worldwide Power(220v)? 


No 


Yes 


No 


Yes 


Yes 


1 1 0/220v Switch? 


- 


Switch 


- 


Auto 


Switch 


Output Current (amps):+5v 


7.0 


11.2 


15.0 


20.0 


19.8 


-5v 


0.3 


0.3 


0.3 


0.3 


0.3 


VI 


+12v 


2.0 


4.4 


4.2 


4.2 


7.3 




-12v 


0.25 


0.25 


0.25 


0.25 


0.3 




Calculated output wattage 


63.5 


113.3 


129.9 


154.9 


191.7 




Specified output wattage 


63.5 


114.0 


130.0 


157.0 


192.0 





Table 8.8 shows the standard power supply output levels available in industry-standard 
form factors. Most manufacturers that offer supplies have supplies with different ratings 
for each type of supply. Supplies are available with ratings from 100 watts to 450 watts or 
more. Table 8.8 shows the rated outputs at each of the voltage levels for supplies with 
different manufacturer-specified output ratings. To compile the table, I referred to the 
specification sheets for supplies from Astec Standard Power and PC Power and Cooling. 
Although most of the ratings are accurate, as you can see they are somewhat misleading 
for the higher wattage units. 



344 



Chapter 8 — The Power Supply 



Table 8.8 Typical Compatible Power Supply Output Ratings 



Specified Output 

Wattage 100W 150W 200W 250W 300W 375W 450W 



Output Current (amps):+5v 


10.0 


15.0 


20.0 


25.0 


32.0 


35.0 


45.0 


-5v 


0.3 


0.3 


0.3 


0.5 


1.0 


0.5 


0.5 


+12v 


3.5 


5.5 


8.0 


10.0 


10.0 


13.0 


15.0 


-12v 


0.3 


0.3 


0.3 


0.5 


1.0 


0.5 


1.0 


Calculated output wattage 


97.1 


146.1 


201.1 


253.5 


297.0 


339.5 


419.5 



Most compatible power supplies have ratings between 150 to 250 watts output. Although 
lesser ratings are not usually desirable, it is possible to purchase heavy duty-power sup- 
plies for most compatibles that have outputs as high as 500 watts. 

The 300-watt and larger units are excellent for enthusiasts who are building a fully 
optioned desktop or tower system. These supplies run any combination of motherboard 
and expansion card, as well as a large number of disk drives. In most cases, you cannot 
exceed the ratings on these power supplies — the system will be out of room for addi- 
tional items first! 

Table 8.9 shows the rated output levels of IBM's PS/2 power supplies. IBM uses high- 
quality supplies in these systems. They are normally supplied to IBM by Astec, but other 
manufacturers have made IBM supplies as well. 



Table 8.9 Power Supply Output Ratings for PS/2 Systems 





Part 


Worldwide 


110/220v 


Output 


Model 


Number 


Power (220v) 


Manual/Auto 


Wattage 


25 


8525-xxl 


Yes 


Manual 


90 




8525-xx4 


Yes 


Manual 


115 


30 


8530-Oxx 


Yes 


Auto 


70 


25 286 


8525-xxx 


Yes 


Manual 


124.5 


30 286 


8530-Exx 


Yes 


Manual 


90 


35 SX 


8535-xxx 


Yes 


Auto 


118 


40 SX 


8540-Oxx 


Yes 


Manual 


197 


50 


8550-Oxx 


Yes 


Auto 


94 


55 SX 


8555-xxx 


Yes 


Manual 


90 


57 SX 


8557-Oxx 


Yes 


Manual 


197 


60 


8560-041 


Yes 


Auto 


207 




8560-071 


Yes 


Auto 


225 


65 SX 


8565-xxx 


Yes 


Auto 


250 


70 386 


8570-xxx 


Yes 


Auto 


132 


70 486 


8570-Bxx 


Yes 


Auto 


132 


P70 386 


8573-xxx 


Yes 


Auto 


85 


P75 486 


8573-xxx 


Yes 


Auto 


120 



Power Supply Function and Operation 



345 



Model 


Part 
Number 


Worldwide 
Power (220v) 


110/220v 
Manual/Auto 


Output 
Wattage 


80 386 


8580-xxx 


Yes 




Auto 


225 




8580-Axx 


Yes 




Auto 


242 




8580-Axx 


Yes 




Auto 


250 


90XP486 


8590-Oxx 


Yes 




Auto 


194 


95 XP 486 


8595-Oxx 


Yes 




Auto 


329 



Most power supplies are considered to be universal, or worldwide. That is, they run on the 
220-volt, 50-cycle current used in Europe and many other parts of the world. Most power 
supplies that can switch to 220-volt input are automatic, but a few require that you set a 
switch on the back of the power supply to indicate which type of power you will access. 
(The automatic units sense the current and switch automatically.) 

My PS/2 P75, for example, runs on both 110- and 220-volt power. All I have to do is plug 
it in, and the system automatically recognizes the incoming voltage and switches circuits 
accordingly. This is different from some other systems that run on both levels of power, 
but require you to flip a switch manually to select the proper circuits within the power 
supply. 

If your supply does not autoswitch, make sure the voltage setting is correct. If you plug 
the power supply into a 1 lOv outlet while set in the 220v setting, there will be no dam- 
age but it will certainly not operate properly until you correct the setting. On the other 
hand, if you are in a foreign country with a 220v outlet and have the switch set for llOv, 
you may cause damage. 

Power Supply Specifications 

In addition to power output, many other specifications and features go into making a 
high-quality power supply. I have had many systems over the years. My experience has 
been that if a brownout occurs in a room with several systems running, the systems with 
higher-quality power supplies and higher output ratings always make it over power dis- 
turbances, whereas others choke. I would not give $5 for many of the cheap, junky 
power supplies that come in some of the low-end clone systems. 

To get an idea of the expected performance from a power supply, you should know the 
specifications that IBM dictates for all its PS/2 power supplies. This information comes 
from the PS/2 Hardware Maintenance Manual (#S52G-9971-01) and is an example of 
what a properly designed power supply should do. Keep in mind that Astec makes virtu- 
ally all IBM PS/2 supplies. They also make supplies for a number of other high-end sys- 
tem vendors. 

PS/2 power supplies operate continuously over two ranges. The first is from 90 to 137 
VAC, and the second is from 180 to 265 VAC. The AC signal must be a sine wave and 
have a maximum of five percent total harmonic distortion. Some units have an auto- 
matic voltage range selection feature, whereas others require a switch be set to operate 
on either the lOOv or 200v ranges. 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



346 Chapter 8 — The Power Supply 

PS/2 power supplies are protected from both input over and under voltages. If the input 
voltage goes over or under the acceptable range, the power supply shuts down until the 
power switch is recycled. 

All PS/2 supplies have output over-current protection. This means that if more than a 
safe load is drawn from the supply, it shuts down until the power switch is recycled. This 
protection extends to short circuits as well. If any short is placed between an output and 
ground or between any two outputs, the power supply shuts down until the power 
switch is recycled. 

Most PS/2 power supplies have an automatic restart feature that causes the power supply 
to recycle automatically after an AC power outage. Beginning with products announced 
in October 1990, a three to six second delay was added to the restart time to give any 
subsystems or peripherals enough time to reset before the system restarts. 

IBM states that the PS/2 supplies sustain operation during the following power line dis- 
turbances: 

■ A 20 percent below nominal voltage (that is, 80 volts) brownout lasting up to two 
seconds repeated up to 10 times with a 10 percent duty cycle. 

■ A 30 percent below nominal voltage (70 volts) brownout lasting up to 0.5 seconds 
repeated up to 10 times with a 10 percent duty cycle. 

■ A 15 percent above nominal voltage (143 volts) surge lasting up to one second 
repeated up to 10 times with a 10 percent duty cycle. 

■ A 400Hz oscillatory (exponentially decaying) disturbance at the peak of the input 
line voltage that increases the line voltage by two times (200 volts) that occurs up 
to 100 times at three second intervals. 

■ A transient pulse of 1.5 times the peak input voltage (150 volts) superimposed at 
the input voltage peak and repeated up to 100 times at three second intervals. 

IBM also states that its PS/2 supplies (or attached systems) are not damaged if any of the 
following conditions occur: 

■ A 100 percent power outage of any duration 

■ A brownout of any kind 

■ A spike of up to 2,500 volts applied directly to the AC input (for example, a light- 
ning strike or a lightning simulation test) 

PS/2 power supplies have an extremely low current leakage to ground of less than 500 
microamps. This safety feature is important if your outlet has a missing or improperly 
wired ground line. 

As you can see, these specifications are fairly tough and are certainly representative of a 
high-quality power supply. Make sure that your supply can meet these specifications. 
The vendors recommended in this chapter produce supplies that meet or exceed these 
specifications. 



Power Supply Function and Operation 347 

Power-Use Calculations 

One way to see whether your system is capable of expansion is to calculate the levels of 
power drain in the different system components and deduct the total from the maxi- 
mum power supplied. This calculation might help you decide when to upgrade the 
power supply to a more capable unit. Unfortunately, these calculations can be difficult to 
make because many manufacturers do not publish power consumption data for their 
products. 

It is difficult to get power consumption data for most +5v devices including mother- 
boards and adapter cards. Motherboards can consume different power levels, depending 
on numerous factors. Most 486DX2 motherboards consume about 5 amps or so, but if 
you can get data on the one you are using, so much the better. For adapter cards, if you 
can find the actual specifications for the card, use those figures. To be on the conserva- 
tive side, however, I usually go by the maximum available power levels as set forth in the 
respective bus standards. 

For example, consider the typical power consumption figures for components in a mod- 
ern PC system. Most standard desktop or slimline PC systems today come with a 200- 
watt power supply rated for 20 amps at +5v and 8 amps at +12v. The ISA specification 
calls for a maximum of 2.0 amps of +5v and 0.175 amps of +12v power for each slot in 
the system. Most systems have eight slots, and you can assume that four of them are t/» 

filled for the purposes of calculating power draw. The following calculation shows what 



happens when you subtract the amount of power necessary to run the different system 
components: 



Less: 4 slots filled @ 0.1 75 ea. -0.7 

3.5" hard disk drive -1.0 

3.5" & 5.25" floppy drives -1 .0 

Cooling fan -0.1 

CD-ROM drive -1 .0 

Remaining power 4.2 amps 



In the preceding example, everything seems all right for now. With half the slots filled, 
two floppy drives, and one hard disk, the system still has room for more. There might be 
trouble if this system were expanded to the extreme. With every slot filled and two or 
more hard disks, there definitely will be problems with the +5v. However, the +12v does 
seem to have room to spare. You could add a CD-ROM drive or a second hard disk with- 
out worrying too much about the +12v power, but the +5v power will be strained. If you 



n 
3 



n 

o 

5-Volt Power: 20.0 Amps 3, 

"O 

Less: Motherboard -5.0 O 

4 slots filled at 2.0 each -8.0 jg 

3.5" and 5.25" floppy drives -1.5 3 

3.5" hard disk drive -0.5 Cf 

CD-ROM drive -1.0 

Remaining power 4.0 amps 

12- Volt Power: 8.0 Amps 



348 



Chapter 8 — The Power Supply 



anticipate loading up a system to the extreme — as in a high-end multimedia system, for 
example — you may want to invest in the insurance of a higher output supply. For ex- 
ample, a 250-watt supply usually has 25-amps of +5v and 10-amps of +5v current, 
whereas a 300-watt unit has 32-amps of +5v power. These supplies would permit a fully 
expanded system and are likely to be found in full-sized desktop or tower case configura- 
tions in which this capability can be fully used. 

Motherboards can draw anywhere from 4 to 15 amps or more of +5v power to run. In 
fact, a single Pentium 66MHz CPU draws up to 3.2 amps of +5v power all by itself. Con- 
sidering that dual 100MHz Pentium processor systems are now becoming available, you 
could have 6.4 amps or more drawn by the processors alone. A motherboard like this 
with 64M of RAM might draw 15 amps or more all by itself. Most 486DX2 motherboards 
draw approximately 5 to 7 amps of +5v. Bus slots are allotted maximum power in amps 
as shown in table 8.10. 



Table 8.10 Maximum Power Consumption in Amps per Bus Slot 



Bus Type 



+5v Power 



+12v Power 



+3.3v Power 



ISA 


2.0 


0.175 


N/A 


EISA 


4.5 


1.5 


N/A 


VL-Bus 


2.0 


N/A 


N/A 


16-Bit MCA 


1.6 


0.175 


N/A 


32-Bit MCA 


2.0 


0.175 


N/A 


PCI 


5 


0.5 


7.6 



As you can see from the table, ISA slots are allotted 2.0 amps of +5v and 0.175 amps of 
+12v power. Note that these are maximum figures and not all cards draw this much 
power. If the slot has a VL-Bus extension connector, an additional 2.0 amps of +5v power 
is allowed for the VL-Bus. 

Floppy drives can vary in power consumption, but most of the newer 3. 5 -inch drives 
have motors that run off +5v in addition to the logic circuits. These drives usually draw 
1.0 amps of +5v power and use no +12v at all. Most 5.25-inch drives use standard +12v 
motors that draw about 1.0 amps. These drives also require about 0.5 amps of +5v for the 
logic circuits. Most cooling fans draw about 0.1 amps of +12v power, which is almost 
negligible. 

Typical 3. 5 -inch hard disks today draw about 1 amp of +12v power to run the motors 
and only about 0.5 amps of +5v power for the logic. The 5.25-inch hard disks, especially 
those that are full-height, draw much more power. A typical full-height hard drive draws 
2.0 amps of +12v power and 1.0 amps of +5v power. Another problem with hard disks is 
that they require much more power during the spinup phase of operation than during 
normal operation. In most cases, the drive draws double the +12v power during spinup, 
which can be 4.0 amps or more for the full-height drives. This tapers off to normal after 
the drive is spinning. 



Leave It On or Turn It Off? 349 

The figures most manufacturers report for maximum power supply output are full duty- 
cycle figures, which means that these levels of power can be supplied continuously. You 
usually can expect a unit that continuously supplies some level of power to supply more 
power for some noncontinuous amount of time. A supply usually can offer 50 percent 
greater output than the continuous figure indicates for as long as one minute. This cush- 
ion is often used to supply the necessary power to start spinning a hard disk. After the 
drive has spun to full speed, the power draw drops to a value within the system's con- 
tinuous supply capabilities. Drawing anything over the rated continuous figure for any 
long length of time causes the power supply to run hot and fail early, and it can prompt 
several nasty symptoms in the system. 



If you are using internal SCSI hard drives, this useful tip can ease the startup load on your power 
supply. The key is to enable the Remote Start option on the SCSI drive, which causes the drive to 
start spinning only when it receives a startup command over the SCSI bus. The effect is such that 
the drive remains stationary (drawing very little power) until the very end of the POST and spins up 
right when the SCSI portion of the POST is begun. If you have multiple SCSI drives, they all spin up 
sequentially based on their SCSI ID setting. This is designed so that only one drive is spinning up at 
any one time, and that no drives start spinning until the rest of the system has had time to start. 



1/1 



This greatly eases the load on the power supply when you first power the system on. This tip is *< 

essential when dealing with portable type systems in which power is at a premium. I burned up a J? 

supply in one of my portable systems before resetting the internal drive to Remote Start. 3 

n 

o 

3 

The biggest causes of overload problems are filling up the slots and adding more drives. 
Multiple hard drives, CD-ROM drives, floppy drives, and so on can exact quite a drain on 3 

the system power supply. Make sure that you have enough +12v power to run all the 3 

drives you are going to install. Tower systems can be a problem here because they have "• 

so many drive bays. Make sure that you have enough +5v power to run all your expan- 
sion cards, especially if you are using VL-Bus or EISA cards. It pays to be conservative, but 
remember that most cards draw less than the maximum allowed. 

Many people wait until an existing unit fails before they replace it with an upgraded 
version. If you are on a tight budget, this "if it ain't broke, don't fix it" attitude works. 
Power supplies, however, often do not just fail; they can fail in an intermittent fashion 
or allow fluctuating power levels to reach the system, which results in unstable opera- 
tion. You might be blaming system lockups on software bugs when the culprit is an over- 
loaded power supply. If you have been running with your original power supply for a 
long time, you should expect some problems. 

Leave It On or Turn It Off? 

A frequent question that relates to the discussion of power supplies concerns whether 
you should turn off a system when it is not in use. You should understand some facts 
about electrical components and what makes them fail. Combine this knowledge with 



350 Chapter 8 — The Power Supply 

information on power consumption and cost, not to mention safety, and perhaps you 
can come to your own conclusion. Because circumstances can vary, the best answer for 
your own situation might be different depending on your particular needs and applica- 
tion. 

Frequently, powering a system on and off does cause deterioration and damage to the 
components. This seems logical, and the reason is simple but not obvious to most. Many 
people believe that flipping system power on and off frequently is harmful because it 
electrically "shocks" the system. The real problem, however, is temperature. In other 
words, it is not so much electrical shock as thermal shock that damages a system. As the 
system warms up, the components expand; and as it cools off, the components contract. 
This alone stresses everything. In addition, various materials in the system have different 
thermal expansion coefficients, which means that they expand and contract at different 
rates. Over time, thermal shock causes deterioration in many areas of a system. 

From a pure system-reliability point, it is desirable to insulate the system from thermal 
shock as much as possible. When a system is turned on, the components go from ambi- 
ent (room) temperature to as high as 185 degrees F (85 degrees C) within 30 minutes or 
less. When you turn the system off, the same thing happens in reverse and the compo- 
nents cool back to ambient temperature in a short period of time. Each component ex- 
pands and contracts at slightly different rates, which causes the system an enormous 
amount of stress. 

Thermal expansion and contraction remains the single largest cause of component fail- 
ure. Chip cases can split, allowing moisture to enter and contaminate them. Delicate 
internal wires and contacts can break, and circuit boards can develop stress cracks. 
Surface-mounted components expand and contract at different rates from the circuit 
board they are mounted on, which causes enormous stress at the solder joints. Solder 
joints can fail due to the metal hardening from the repeated stress causing cracks in the 
joint. Components that use heat sinks such as processors, transistors, or voltage regula- 
tors can overheat and fail because the thermal cycling causes heat sink adhesives to dete- 
riorate, breaking the thermally conductive bond between the device and the heat sink. 
Thermal cycling also causes socketed devices and connections to "creep," which can 
cause a variety of intermittent contact failures. 

Thermal expansion and contraction affect not only chips and circuit boards but also 
things like hard disk drives. Most hard drives today have sophisticated thermal compen- 
sation routines that make adjustments in head position relative to the expanding and 
contracting platters. Most drives perform this thermal compensation routine once every 
five minutes for the first 30 minutes the drive is running, and then every 30 minutes 
thereafter. In many drives, this procedure can be heard as a rapid "tick-tick-tick-tick" 
sound. 

In essence, anything you can do to keep the system at a constant temperature prolongs 
the life of the system, and the best way to accomplish this is to leave the system either 
permanently on or off. Of course, if the system is never turned on in the first place, it 
should last a long time indeed! 



Energy Star Systems 351 

Now, although it seems like I am saying that you should leave all systems on 24 hours a 
day, that is not necessarily true. A system powered on and left unattended can be a fire 
hazard (I have had monitors spontaneously catch fire — luckily I was there at the time), is 
a data security risk (cleaning crews, other nocturnal visitors, and so on), can be easily 
damaged if moved while running, and simply wastes electrical energy. 

I currently pay $0.11 for a kilowatt-hour of electricity. A typical desktop style PC with 
display consumes at least 300 watts (0.3 kilowatts) of electricity (and that is a conserva- 
tive estimate). This means that it would cost 3.3 cents to run this typical PC for an hour. 
Multiplying by 168 hours in a week means that it would cost $5.54 per week to run this 
PC continuously. If the PC were turned on at 9:00 a.m. and off at 5:00 p.m., it would 
only be on 40 hours per week and would cost only $1.32 — a savings of $4.22 per week! 
Multiply this savings by 100 systems, and you are saving $422 per week; multiply this by 
1,000 systems, and you are saving $4,220 per week! Using systems certified under the 
new EPA Energy Star program (that is, "Green" PCs) would account for an additional 
savings of around $1 per system per week, or $1,000 per week for 1,000 systems. The 
great thing about Energy Star systems is that the savings are even greater if the systems 
are left on for long periods of time because the power management routines are auto- 
matic. 

Based on these facts, my recommendations are that you power the systems on at the ^ 
beginning of the work day, and off at the end of the work day. Do not power the systems «! 
off for lunch, breaks, or any other short duration of time. Servers and the like of course * 
should be left on continuously. This seems to be the best compromise of system longev- 
ity with pure economics. O 

O 

Energy Star Systems § 

The EPA has started a certification program for energy efficient PCs and peripherals. To 
be a member of this program, the PC or display must drop to a power draw at the outlet 
of 30 watts or less during periods of inactivity. Systems that conform to this specification 
get to wear the Energy Star logo. This is a voluntary program, meaning there is no re- 
quirements to meet the specification, however many PC manufacturers are finding that 
it helps to sell their systems if they can advertise them as energy efficient. 

One problem with this type of system is that the motherboard and disk drives literally 
can "go to sleep," which means they can enter a standby or sleep mode where they draw 
very little power. This causes havoc with some of the older power supplies, because the 
low power draw does not provide enough of a load for them to function properly. Most 
of the newer supplies on the market are designed to work with these systems, and have a 
very low minimum load specification. I suggest that if you are purchasing a power sup- 
ply upgrade for a system, ensure that the minimum load will be provided by the equip- 
ment in your system, otherwise, when the PC goes to sleep, it may take a power switch 
cycle to wake it up again! This problem would be most noticeable if you invest in a very 
high output supply and use it in a system that draws very little power to begin with. 



352 Chapter 8 — The Power Supply 



Power Supply Problems 



A weak or inadequate power supply can put a damper on your ideas for system expan- 
sion. Some systems are designed with beefy power supplies, as if to anticipate a great deal 
of system add-on or expansion components. Most desktop or tower systems are built in 
this manner. Some systems have inadequate power supplies from the start, however, and 
cannot accept the number and types of power-hungry options you might want to add. 

In particular, portable systems often have power supply problems because they are de- 
signed to fit into a small space. Likewise, many older systems had inadequate power 
supply capacity for system expansion. For example, the original PC's 63.5-watt supply 
was inadequate for all but the most basic system. Add a graphics board, hard disk, math 
coprocessor (8087) chip, and 640K of memory, and you would kill the supply in no time. 
The total power draw of all the items in the system determines the adequacy of the 
power supply. 

The wattage rating can sometimes be very misleading. Not all 200-watt supplies are cre- 
ated the same. Those who are in to high-end audio systems know that some watts are 
better than others. Cheap power supplies may in fact put out the rated power, but what 
about noise and distortion? Some of the supplies are under-engineered to meet their 
specifications just barely, whereas others may greatly exceed their specifications. Many of 
the cheaper supplies output noisy or unstable power, which can cause numerous prob- 
lems with the system. Another problem with under-engineered power supplies is that 
they run hot and force the system to do so as well. The repeated heating and cooling of 
solid-state components eventually causes a computer system to fail, and engineering 
principles dictate that the hotter a PC's temperature, the shorter its life. Many people 
recommend replacing the original supply in a system with a heavier duty model, which 
solves the problem. Because power supplies come in common form factors, finding a 
heavy duty replacement for most systems is easy. 

Some of the available replacement supplies have higher capacity cooling fans than the 
originals, which can greatly prolong system life and minimize overheating problems, 
especially with some of the newer high-powered processors. If noise is a problem, models 
with special fans can run quieter than the standard models. These types often use larger 
diameter fans that spin slower, so that they run quiet while moving the same amount of 
air as the smaller fans. A company called PC Power and Cooling specializes in heavy-duty 
and quiet supplies. Another company called Astec has several heavy-duty models as well. 
Astec supplies are found as original equipment in many high-end systems, such as those 
from IBM and Hewlett Packard. 

Ventilation in a system can be important. You must ensure adequate air flow to cool the 
hotter items in the system. Most processors have heat sinks today that require a steady 
stream of air to cool the processor. If the processor heat sink has its own fan, this is not 
much of a concern. If you have free slots, space the boards out in your system to allow 
air flow between them. Place the hottest running boards nearest the fan or ventilation 
holes in the system. Make sure that there is adequate air flow around the hard disk drive, 
especially those that spin at higher rates of speed. Some hard disks can generate quite a 
bit of heat during operation. If the hard disks overheat, data is lost. 



Power Supply Troubleshooting 353 

Always make sure that you run with the lid on, especially if you have a loaded system. 
Removing the lid can actually cause a system to overheat. With the lid off, the power 
supply fan no longer draws air through the system. Instead, the fan ends up cooling the 
supply only, and the rest of the system must be cooled by simple convection. Although 
most systems do not immediately overheat because of this, several of my own systems, 
especially those that are fully expanded, have overheated within 15 to 30 minutes when 
run with the case lid off. 

If you experience intermittent problems that you suspect are related to overheating, a 
higher capacity replacement power supply is usually the best cure. Specially designed 
supplies with additional cooling fan capacity also can help as well. At least one company 
sells a device called a fan card, but I am not convinced these are a good idea. Unless the 
fan is positioned to draw air to or from outside the case, all the fan does is blow hot air 
around inside the system and provide a spot cooling effect for anything it is blowing on. 
In fact, adding fans in this manner contributes to the overall heat inside the system be- 
cause each fan consumes power and generates heat. 

The CPU-mounted fans are an exception to this because they are designed only for spot 
cooling of the CPU. Many of the newer processors run so much hotter than the other 
components in the system that a conventional finned aluminum heat sink cannot do 
the job. In this case a small fan placed directly over the processor can provide a spot ^ 

cooling effect that keeps the processor temperatures down. One drawback to these active «! 

J? 

3 

sink and stay away from more fans. O 

E9 

3 
If you seal the ventilation holes on the bottom of the original IBM PC chassis, starting from where "> 

the disk drive bays begin and all the way to the right side of the PC, you drop the interior tempera- 
ture some 1 to 20 degrees Fahrenheit — not bad for two cents' worth of electrical tape. IBM 
"factory-applied" this tape on every XT and XT-286 it sold. The result is greatly improved interior 
aerodynamics and airflow over the heat-generating components. 

For other PC compatible systems, this may not apply because their case designs may be different. 

No matter what system you have, be sure that any empty slot positions have the filler brackets 
installed. If you leave these brackets off after removing a card, the resultant hole will disrupt the 
internal airflow and may cause higher internal temperatures. 



Power Supply Troubleshooting 

Troubleshooting the power supply basically means isolating the supply as the cause of 
problems within a system. Rarely is it recommended to go inside the power supply to 
make repairs because of the dangerous high voltages present. Such internal repairs are 
beyond the scope of this book and are specifically not recommended unless the techni- 
cian knows what he or she is doing. 



processor cooling fans is that if they fail, the processor overheats instantly and can even 
be damaged. Whenever possible, I try to use the biggest passive (finned aluminum) heat 



354 Chapter 8 — The Power Supply 

Many symptoms would lead me to suspect that the power supply in a system is failing. 
This can sometimes be difficult for an inexperienced technician to see, because at times 
little connection appears between the symptom and the cause — the power supply. 

For example, in many cases a "parity check" type of error message or problem indicates a 
problem with the supply. This may seem strange because the parity check message itself 
specifically refers to memory that has failed. The connection is that the power supply is 
what powers the memory, and memory with inadequate power fails. It takes some expe- 
rience to know when these failures are not caused by the memory and are in fact power- 
related. One clue is the repeatability of the problem. If the parity check message (or other 
problem) appears frequently and identifies the same memory location each time, I sus- 
pect defective memory as the problem. However, if the problem seems random, or the 
memory location given as failed seems random or wandering, I suspect improper power 
as the culprit. The following is a list of PC problems that often are power supply related: 

■ Any power-on or system startup failures or lockups 

■ Spontaneous rebooting or intermittent lockups during normal operation 

■ Intermittent parity check or other memory type errors 

■ Hard disk and fan simultaneously fail to spin (no +12v) 

■ Overheating due to fan failure 

■ Small brownouts cause the system to reset 

■ Electric shocks felt on the system case or connectors 

■ Slight static discharges disrupt system operation 

In fact, just about any intermittent system problem can be caused by the power supply. 
I always suspect the supply when flaky system operation is a symptom. Of course, the 
following fairly obvious symptoms point right to the power supply as a possible cause: 

■ System is completely dead (no fan, no cursor) 

■ Smoke 

■ Blown circuit breakers 

If you suspect a power-supply problem, some simple measurements as well as more so- 
phisticated tests outlined in this section can help you determine whether the power 
supply is at fault. Because these measurements may not detect some intermittent failures, 
you might have to use a spare power supply for a long-term evaluation. If the symptoms 
and problems disappear when a "known good" spare unit is installed, you have found 
the source of your problem. 

Digital Multi-Meters 

A simple test that can be done to a power supply is to check the output voltage. This 
shows if a power supply is operating correctly and whether the output voltages are 
within the correct tolerance range. Note that all voltage measurements must be made 



Power Supply Troubleshooting 355 

with the power supply connected to a proper load, which usually means testing while 
the power supply is still installed in the system. 

Selecting a Meter. You need a simple Digital Multi-Meter (DMM) or Digital Volt-Ohm 
Meter (DVOM) to make voltage and resistance checks in electronic circuits (see fig. 8.9). 
You should use only a DMM rather than the older needle type multi-meters because the 
older meters work by injecting a 9v signal into the circuit when measuring resistance. 
This will damage most computer circuits. A DMM uses a much smaller voltage (usually 
1.5v) when making resistance measurements, which is safe for electronic equipment. You 
can get a good DMM from many sources and with many different features. I prefer the 
small pocket-sized meters for computer work because they are easy to carry around. Some 
features to look for in a good DMM are 

■ Pocket size. This is self-explanatory, but small meters are available that have many if 
not all the features of larger ones. The elaborate features found on some of the 
larger meters are not really needed for computer work. 

■ Overload protection. This means that if you plug the meter into a voltage or current 
beyond the capability of the meter to measure, the meter protects itself from dam- 
age. Cheaper meters lack this protection and can be easily damaged by reading 
current or voltage values that are too high. 

■ Autoranging. This means that the meter automatically selects the proper voltage or <* 
resistance range when making measurements. This is preferable to the manual * 
range selection, however, really good meters offer both autoranging capability and 

a manual range override. O 

■ Detachable probe leads. The leads can be easily damaged and sometimes a variety of 

differently shaped probes are required for different tests. Cheaper meters have the 3 

leads permanently attached, which means that they cannot easily be replaced. 3 

Look for a meter with detachable leads that plug into the meter. <* 

■ Audible continuity test. Although you can use the Ohm scale for testing continuity 
(0 ohms indicates continuity), a continuity test function causes a beep noise to be 
heard when continuity exists between the meter test leads. Using the sound, you 
can more quickly test cable assemblies and other items for continuity. After you 
use this feature, you will never want to use the ohms display for this purpose again. 

■ Automatic power off. These meters run on batteries, and the batteries can easily be 
worn down if the meter is accidentally left on. Good meters have an automatic 
shutoff that turns off the meter if no readings are sensed for a predetermined pe- 
riod of time. 

■ Automatic display hold. This feature enables the last stable reading to be held on the 
display even after the reading is taken. This is especially useful if you are trying to 
work in a difficult-to-reach area single-handedly. 

■ Minimum and maximum trap. This feature enables the lowest and highest readings 
to be trapped in memory and held for later display. This is especially useful if you 
have readings that are fluctuating too quickly to see on the display. 



356 



Chapter 8 — The Power Supply 



Although you can get a basic pocket DMM for about $30, one with all these features is 
priced in the $200 range. Radio Shack carries some nice inexpensive units, whereas the 
high-end models can be purchased from electronics supply houses like Allied, Newark, or 
Digi-Key. 




Figure 8.9 

A typical Digital Multi-Meter (DMM). 

Measuring Voltage. When making measurements on a system that is operating, you 
must use a technique called back probing the connectors. This is because you cannot dis- 
connect any of the connectors while the system is running and instead must measure 
with everything connected. Nearly all the connectors you need to probe have openings 
in the back where the wires enter the connector. The meter probes are narrow enough to 
fit into the connector alongside the wire and make contact with the metal terminal in- 
side. This technique is called back probing because you are probing the connector from 
the back. Virtually all the following measurements must be made using this back probing 
technique. 

To test a power supply for proper output, check the voltage at the PowerGood pin (P8-1 
on most IBM-compatible supplies) for +3v to +6v. If the measurement is not within this 
range, the system never sees the PowerGood signal and, therefore, does not start or run 
properly. In most cases, the supply is bad and must be replaced. 

Continue by measuring the voltage ranges of the pins on the motherboard and drive 
power connectors (see Table 8.11). Note that the exact pin specifications and acceptable 
voltage ranges may vary for different manufacturer's systems; however, they are repre- 
sentative of most IBM-compatibles. Many follow the looser tolerance guidelines of ac- 
cepting anything approximately 10 percent too low or eight percent too high, especially 
for the -5v and -12v (negative) signals. I prefer to use tighter tolerances myself and 
would pass only a supply that is within five percent or less of the correct voltages. Some 
manufacturers have even tighter tolerances on their systems, and in that case you should 
go by what the manufacturer specifies. Consult your system's technical reference manual 
for this information to make sure. 



Power Supply Troubleshooting 



357 



The PowerGood signal has tolerances different from the other signals, although it is 
nominally a +5v signal in most systems. The trigger point for PowerGood is about 
+2.5v, but most systems require the signal voltage to be within the tolerances listed in 
Table 8.12. 



Table 8.11 


Power Supply Acceptable Voltage Ranges 




Loose Tolerance 


Tight Tolerance 


Desired 
Voltage 


Min. (-10%) Max. (+8%) 


Min. (-5%) Max. (+5%) 


+/-5.0v 
+/-12.UV 


4.5v 5.4v 
10.8v 12.9v 


4.75 5.25 
11.4 12.6 




Table 8.12 


PowerGood Signal Acceptable Range 


Signal 


Minimum Maximum 




Power_Good ( 


+5v) 3.0v 6.0v 





Replace the power supply if the voltages you measure are out of these ranges. Again, it is 
worth noting that any and all power supply tests and measurements must be made with 
the power supply properly loaded, which usually means it must be installed in a system 
and the system must be running. 

Specialized Test Equipment 

You can use several types of specialized test gear to test power supplies more effectively. 
Because the power supply is perhaps the most failure-prone item in PCs today, if you 
service many PC systems, it is wise to have many of these specialized items. 

Load Resistors. If you want to bench test a power supply, you must make sure that 
loads are placed on both the +5v and +12v outputs. This is one reason that it is best to 
test the supply while it is installed in the system rather than separately on the bench. For 
impromptu bench testing, you can use a spare motherboard and hard disk drive to load 
the +5v and +12v outputs, respectively, while you make voltage measurements or check 
overall system operation. 

If you are frequently testing power supplies, you may want to construct your own load 
resistors to make testing easier. In my shop, I often use one of the +12v load resistors 
originally installed in AT systems sold without hard disks. Although these are nice, they 
do not load the +5v signal, and I often want more than a 2.4 amp load on the +12v as 
well. 

You can construct your own power supply load resistor network out of light bulbs. By 
wiring up a set of light sockets in parallel, you can vary the load by adding or removing 
bulbs from their sockets. The type of bulb to use for a +12v load is the standard #1156 
bulb used in many automobile exterior light assemblies. These bulbs are designed to 
run on +12v and draw approximately 2.1 amps of current or about 25 watts. Each bulb 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



358 Chapter 8 — The Power Supply 

effectively acts as if it were a 5.7 Ohm resistor. I recommend that you wire up at least 
four bulb sockets in parallel, mounted on a nonconductive breadboard. For testing high 
output supplies, you could wire up as many as eight sockets in parallel. It would be wise 
to have four disk drive connectors also wired in parallel in the same circuit to balance 
the draw from the supply. A single drive connector cannot handle more than a two-bulb 
(4 amp) load reliably. To use this load tester, plug the bulb loading network into the disk 
drive power connectors. By adding or removing bulbs from their sockets, you can control 
the load. With four bulbs installed, you have approximately an 8 amp load, which is 
good for maximum load testing of a standard 200-watt PC power supply rated for 8 amps 
of +12v output. 

You will still need a +5v load. Unfortunately, a #1156 type bulb does not work well for a 
+5v load because each bulb draws only 0.875 amps at +5v (4.4 watts). Even eight of these 
bulbs would draw only 7 amps, or 35 watts of +5v power. You could substitute a #1493 
bulb instead, which draws about 2.75 amps at +5v, or about 14 watts. You would still 
need eight of these bulbs, which would draw 22 amps at +5v, to perform a maximum 
load test on a standard 200 watt-rated PC power supply. 

Perhaps a better solution than bulbs is to use heavy-duty wirewound resistors to con- 
struct a load network. For a +12v load, you could mount a series of 6-Ohm 50-watt resis- 
tors in a parallel network with a toggle switch to bring each one into the circuit. Using a 
6-Ohm resistor would draw 2 amps, or 24 watts, exactly, so make sure that each switch is 
rated for 3 amps or more to be safe. As you switch each additional resistor into the cir- 
cuit, the load increases by 2 amps, or 24 watts. Note that the resistors are rated to handle 
up to 50 watts, which means we are simply being conservative. I might start this network 
off with a single #1156 bulb because the visual information from the light is useful. The 
fact that the light is lit means of course that power is available, and sometimes you can 
see voltage variations as changes in the brightness of the lamp as you switch in addi- 
tional loads. This can give you a visual impression of how well the supply is performing. 

This same type of setup can be used to create a +5v load network. In this case, I recom- 
mend you use 1-Ohm 50-watt wirewound resistors in the same type of parallel network, 
with a switch for each resistor. You could start the network off with a single #1493 bulb 
for a visual indicator of power supply output, which would draw 2.75 amps, or about 14 
watts of power. Each 1-Ohm 50-watt resistor draws 5 amps of +5v current, or exactly 25 
watts. Again, I would specify resistors with a 50-watt rating and a switch with a rating 
higher than 5 amps to be on the conservative side. A network of four of these resistors 
alone draws exactly 20 amps of power, which is exactly what the typical 200 watt PC 
power supply has to offer in +5v. By switching four of these resistors into the load, you 
could perform a full stress test on the supply. Add more, and you could test higher out- 
put supplies as well. Again, it would be prudent to draw this through four disk drive 
connectors simultaneously so as to balance the load between the connectors. You also 
could get some motherboard (P8 and P9 type) connectors and draw the load through all 
the +5v pins on those connectors. 

You can purchase all these components, including wirewound resistors, bulbs, sockets, 
connectors, and breadboard, through electronics parts supply houses such as Allied, 
Newark, and Digi-Key. 



Power Supply Troubleshooting 



359 



Variable Voltage Transformer. In testing power supplies, it is desirable to simulate 
different voltage conditions at the wall socket to observe how the supply reacts. A vari- 
able voltage transformer is a useful test device for checking power supplies because it en- 
ables you to have control over the AC line voltage used as input for the power supply 
(see fig. 8.10). This device consists of a large transformer mounted in a housing with a 
dial indicator to control the output voltage. You plug the line cord from the transformer 
into the wall socket and plug the PC power cord into the socket provided on the trans- 
former. The knob on the transformer can be used to adjust the AC line voltage seen by 
the PC. 




Figure 8.10 

A variable voltage transformer. 

Most variable transformers can adjust their AC output from Ov to 140v no matter what 
the AC input (wall socket) voltage is. Some can even cover a range from Ov to 280v as 
well. You can use the transformer to simulate brownout conditions, enabling you to 
observe the PC's response. Thus, you can check for proper PowerGood signal operation 
among other things. 

By running the PC and dropping the voltage until the PC shuts down, you can see how 
much "reserve" is in the power supply for handling a brownout or other voltage fluctua- 
tions. If your transformer can output voltages in the 200v range, you can test the capa- 
bility of the power supply to run on foreign voltage levels as well. A properly functioning 
supply should operate between 90v to 137v but shut down cleanly if the voltage is out- 
side that range. 

An indication of a problem is seeing "parity check" type error messages when you drop 
the voltage to 80v. This indicates that the PowerGood signal is not being withdrawn 
before the power supply output to the PC fails. What should happen is that the PC 



VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 



360 Chapter 8 — The Power Supply 

simply stops operating as the PowerGood signal is withdrawn, causing the system to 
enter a continuous reset loop. 

Variable voltage transformers are sold by a number of electronic parts supply houses such 
as Allied, Newark, and Digi-Key. You should expect to pay anywhere from $100 to $300 
for these devices. 

PC PowerCheck. The PC PowerCheck card by Data Depot is an ISA bus plug-in card that 
can be used to test power supplies easily while in the system or on a bench. It has a series 
of LEDs that indicate over or under voltage conditions, noise, and transient spike occur- 
rences. These indicators can be set up to run in real time, or to trap any anomalies and 
stay lit. 

The PC PowerCheck card can connect to the system in two ways. The easiest way to use 
it is to plug it directly into a slot like any other adapter card. One caution is to make sure 
that you plug the card in the correct orientation; if you plug it in backward, serious dam- 
age to the card and motherboard can result. No metal bracket is on the card, so it is pos- 
sible to plug it in either way. You will make that mistake only once! 

A second way to use the card is in a bench test mode. In this case, you remove the power 
supply from the system and plug it directly into the power connectors found on the 
card. The power connectors on the PC PowerCheck card are not keyed, so if your power 
supply has keyed connectors, they can be difficult to plug in. Likewise, you must make 
sure that the power supply connectors are plugged in the proper orientation. If you plug 
the connectors in backward, you may destroy the card. 

In the bench test mode, the card is substituting for the motherboard. The PC 
PowerCheck card has built-in load resistors; however, they are very small, drawing only 
0.5 amps of +5v and 0.1 amps of +12v current. These loads are certainly not enough to 
stress the supply, and may not be enough in many cases for the supply to operate at all. 
In this case, additional load can be placed on the supply by plugging in a hard disk or by 
using custom-made load resistors. 

The PC PowerCheck also has an LED to monitor the PowerGood signal, but to monitor 
that signal the power supply must be plugged in directly in the bench test mode. When 
plugged into a slot, the same LED monitors the bus Reset line, which is controlled by the 
PowerGood signal, giving you a secondary indication of PowerGood status. 

The PC PowerCheck can be a useful tool in testing PC power supplies as installed in a 
system, especially for those unwilling to use a digital voltmeter. It is extremely useful for 
quick pass/fail testing such as on a PC assembly line. Supplies that fail the test can be 
quickly identified and replaced, and the defective units can be subjected to further test- 
ing without holding up the assembly process. The bench test mode is not as useful be- 
cause additional loads must be placed on the supply for proper stress testing. In any 
mode, the LED indicators for noise, transients, and PowerGood/Reset are informative, 
useful, and unique for this product. 

PC Power System Analyzer. The most sophisticated power supply test device I have 
used is the PC Power System Analyzer from TCE. This is a portable toaster-sized piece of 



Repairing the Power Supply 361 

gear that comes in a padded case for transport that contains the Analyzer and all its ac- 
cessories. This device sells for around $750 and performs three main functions, all of 
which are conducted with the supply still installed in the system unit. 

The primary function is to load test the system. The PC Power System Analyzer comes 
with a bus adapter (for both ISA/EISA and MCA) that probes the power output and adds 
a few amps of additional load to the +5v and +12v lines. Using this additional load in 
conjunction with the load of the system, it analyzes the capability of the supply to de- 
liver the proper current. 

The unit also performs a PowerGood timing test, which checks whether the 
PowerGood signal arrives within the proper time span of 100 to 500 ms. Personally, I 
have seen many supplies that have problems with the PowerGood signal, and some 
motherboards are more sensitive to this than others. This unit quickly identifies failing 
or improperly designed supplies. 

The other tests are voltage tests. Both the power supply output and line (wall current) 

voltage are continuously tested, and minimums and maximums are recorded over time. 

Information from all the tests can be output to a printer via a parallel port on the unit. 

During voltage measurements, any anomalies are recorded along with the time of the 

occurrence, actual voltage values, duration of the failure, and additional information. 

The unit also has several LEDs to indicate failures or proper operation under the different »< 

n 
3 

n 



tests. 



The printout is excellent especially when you are servicing systems for others. When you 

have to explain to a customer how their power supply is failing, it gives you documenta- § 

tion to back you up. -jij 

O 
The TCE Power System Analyzer is one of the most sophisticated and specialized pieces jj 

of test gear for power supplies. It can be used in PC service shops or assembly operations 3, 

to test and validate power supply function. Because it is portable, it also can be easily 

carried into the field for testing remote systems. It is more of a professional tool and is 

probably too expensive for the average end user. 

Repairing the Power Supply 

Actually repairing a power supply is rarely done anymore, primarily because it is usually 
cheaper simply to replace the supply with a new one. Even high-quality power supplies 
are not that expensive relative to the labor required to repair them. 

Defective power supplies are usually discarded unless they happen to be one of the 
higher quality or more expensive units. In that case, it is usually wise to send the supply 
out to a company that specializes in repairing power supplies and other components. 
These companies provide what is called depot repair, which means you send the supply to 
them; they repair it and return it to you. If time is of the essence, most of the depot re- 
pair companies immediately send you a functional equivalent to your defective supply 
and take yours in as a core charge. Depot repair is the recommended way to service many 
PC components such as power supplies, monitors, and printers. If you take your PC in to 



362 Chapter 8 — The Power Supply 

a conventional service outlet, they often diagnose the problem to the major component 
and send it out to be depot repaired. You can do that yourself and save the markup that 
the repair shop normally charges in such cases. 

For those with experience around high voltages, it might be possible to repair a failing 
supply with two relatively simple operations; however, these require opening the supply. 
I do not recommend this; I mention it only as an alternative to replacement in some 
cases. Most manufacturers try to prevent you from entering the supply by sealing it with 
special tamper-proof Torx screws. These screws use the familiar Torx star driver, but also 
have a tamper prevention pin in the center that prevents a standard driver from work- 
ing. Most tool companies such as Jensen or Specialized sell sets of TT (tamper-proof Torx) 
bits, which remove the tamper-resistant screws. Other manufacturers rivet the power 
supply case shut, which means you must drill out the rivets to gain access. Again, the 
manufacturers place these obstacles there for a reason — to prevent entry by those who 
are inexperienced around high voltage. Consider yourself warned! 

Most power supplies have an internal fuse that is part of the overload protection. If this 
fuse is blown, the supply does not operate. It is possible to replace this fuse if you open 
up the supply. Be aware that in most cases in which an internal power supply problem 
causes the fuse to blow, replacing it does nothing but cause it to blow again until the 
root cause of the problem is repaired. In this case, you are better off sending the unit to a 
professional depot repair company. The vendor list lists several companies that do depot 
repair on power supplies and other components. 

PC power supplies have a voltage adjustment internal to the supply that is calibrated and 
set when the supply is manufactured. Over time, the values of some of the components 
in the supply can change, thus altering the output voltages. If this is the case, you often 
can access the adjustment control and tweak it to bring the voltages back to where they 
should be. Several adjustable items are in the supply — usually small variable resistors that 
can be turned with a screwdriver. You should use a nonconductive tool such as a fiber- 
glass or plastic screwdriver designed for this purpose. If you were to drop a metal tool 
into an operating supply, dangerous sparks and possibly fire could result, not to mention 
danger of electrocution and damage to the supply. You also have to figure out which of 
the adjustments are for voltage and which ones are for each voltage signal. This requires 
some trial and error testing. You can mark the current positions of all the resistors, begin 
measuring a single voltage signal, and try moving each adjuster slightly until you see the 
voltage change. If you move an adjuster and nothing changes, put it back to the original 
position you marked. Through this process, you can locate and adjust each of the volt- 
ages to the standard 5v and 12v levels. 

Obtaining Replacement Units 

There may be times when it is simply easier, safer, or less expensive (considering time 
and materials) to replace the power supply rather than repair it. As mentioned earlier, 
replacement power supplies are available from many manufacturers. Before you can shop 
for a supplier, however, you should consider other purchasing factors. 



Obtaining Replacement Units 363 

Deciding on a Power Supply 

When looking at getting a new power supply, you should take several things into ac- 
count. First, consider the power supply's shape, or form factor. For example, the power 
supply used in the IBM AT differs physically from the one used in the PC or XT. There- 
fore, AT and PC/XT supplies are not interchangeable. 

Differences exist in the size, shape, screw-hole positions, connector type, number of 
connectors, and switch position in these and other power supplies. Systems that use the 
same form factor supply can easily interchange. The compatible manufacturers realized 
this and most began designing systems that mimicked the shape of IBM's AT with regard 
to motherboard and power supply configuration and mounting. As the clone market 
evolved, four standard form factors for power supplies became popular: AT/Tower, Baby 
AT, Slimline, and PC/XT. You can easily interchange any supply with another one of the 
same form factor. Earlier, this chapter gave complete descriptions of these form factors. 
When ordering a replacement supply, you need to know which form factor your system 
requires. 

Many systems use proprietary-designed power supplies, which makes replacement diffi- 
cult. IBM uses a number of designs for the PS/2 systems, and little interchangeability 
exists between different systems. Some of the supplies do interchange, especially between 
any that have the same or similar cases, such as the Model 60, 65, and 80. Several differ- v/» 

ent output level power supplies are available for these systems, including 207-, 225-, *», 

242-, and 250-watt versions. The most powerful 250-watt unit was supplied originally 2 

for the Model 65 SX and later version Model 80 systems, although it fits perfectly in any _ 

Model 60, 65, or 80 system. I have not found any company manufacturing aftermarket § 

supplies for the PS/2 systems, probably because the IBM factory-supplied units are more -jij 

than adequate for their intended application. Although these supplies are mostly made 
by Astec, they do not sell them direct because of contractual agreements with IBM. Tradi- 
tionally, it is too expensive to purchase parts from IBM, so a great number of third-party J 
companies are repairing and even reselling brand new IBM PS/2 power supplies (and 
other IBM parts) at prices greatly below what IBM charges for the same thing. Scan the 
vendor list in the back of this book for some recommended vendors of these parts. 

One risk with some of the compatibles is that they might not use one of the industry- 
standard form-factor supplies. If a system uses one of the common form factor power 
supplies, replacement units are available from hundreds of vendors. An unfortunate user 
of a system with a nonstandard form factor supply does not have this kind of choice and 
must get a replacement from the original manufacturer of the system — and usually pay 
through the nose for the unit. Although you can find AT form factor units for as little as 
$50, the proprietary units from some manufacturers run as high as $400. When Popular 
Mechanics magazine reviews an automobile, it always lists the replacement costs of the 
most failure-prone and replacement-prone components, from front bumpers to alterna- 
tors to taillights. PC buyers often overlook this type of information and discover too late 
the consequences of having nonstandard components in a system. 

An example of IBM-compatible systems with proprietary power supply designs are those 
from Compaq. None of its systems use the same form factor supply as the IBM systems, 



364 Chapter 8 — The Power Supply 

which means that Compaq usually is the only place from which you can get a replace- 
ment. If the power supply in your Compaq Deskpro system "goes south," you can expect 
to pay $395 for a replacement, and the replacement unit will be no better or quieter than 
the one you are replacing. You have little choice in the matter because almost no one 
offers Compaq form factor power supplies except Compaq. One exception is that PC 
Power and Cooling offers excellent replacement power supplies for the earlier Compaq 
Portable systems and for the Deskpro series. These replacement power supplies have 
higher-output power levels than the original supplies from Compaq and cost much less. 

Sources for Replacement Power Supplies 

Because one of the most failure-prone items in PC systems is the power supply, I am 
often called on to recommend a replacement. Literally hundreds of companies manufac- 
ture PC power supplies, and I certainly have not tested them all. I can, however, recom- 
mend some companies whose products I have come to know and trust. 

Although other high-quality manufacturers are out there, at this time I recommend 
power supplies from either Astec Standard Power or PC Power and Cooling. 

Astec makes the power supplies used in most of the high-end systems by IBM, Hewlett- 
Packard, Apple, and many other name brand systems. They have power supplies avail- 
able in a number of standard form factors (AT/Tower, Baby AT, and Slimline) and a 
variety of output levels. They have power supplies with ratings of up to 300 watts and 
also power supplies especially designed for "green" PCs that meet the EPA Energy Star 
requirements for low power consumption. Their "green" power supplies are specifically 
designed to achieve high efficiency at low load conditions. Be aware that high output 
supplies from other manufacturers may have problems with very low loads. Astec also 
makes a number of power supplies for laptop and notebook PC systems and has numer- 
ous non-PC type supplies. 

PC Power and Cooling has the most complete line of power supplies for PC systems. 
They make supplies in all the standard PC form factors used today (AT/Tower, Baby AT, 
PC/XT, and Slimline). Versions are available in a variety of different quality and output 
levels, from inexpensive replacements to very high-quality high-output models with 
ratings up to 450 watts. They even have versions with built-in battery backup systems 
and a series of special models with high-volume low-speed (quiet) fan assemblies. Their 
quiet models are especially welcome to people who cannot take the fan noise that some 
power supplies emanate. 

PC Power and Cooling also has units available to fit some of Compaq's proprietary de- 
signs. This can be a real boon if you have to service or repair Compaq systems because 
the PC Power and Cooling units are available in higher output ratings than Compaq's 
own. They cost much less than Compaq and bolt in as a direct replacement. 

A high-quality power supply from either of these vendors is one of the best cures for 
intermittent system problems and goes a long way toward ensuring trouble-free opera- 
tion in the future. 



RTC/NVRAM Batteries 365 



RTC/NVRAM Batteries 



All 16-bit and higher systems have a special type of chip in them that combines a Real 
Time Clock (RTC) with at least 64 bytes (including the clock data) of Non- Volatile RAM 
(NVRAM) memory. This chip is officially called the RTC/NVRAM chip, but is often re- 
ferred to as the "CMOS chip" or "CMOS RAM," since the type of chip used is produced 
using a CMOS (Complimentary Metal Oxide Semiconductor) process. CMOS design 
chips are known for very low power consumption, and this special RTC/NVRAM chip is 
designed to run off of a battery for several years. 

The original chip of this type used in the original IBM AT was the Motorola 146818 chip. 
Although the ones used today have different manufacturers and part numbers, they are 
all designed to be compatible with this original Motorola part. 

These chips include a real time clock, and the function there is obvious. The clock is used 
so that software can read the date and time, and so that the date and time will be pre- 
served even though the system is powered off or unplugged. The NVRAM portion of the 
chip has another function. It is designed to store the basic system configuration, includ- 
ing the amount of memory installed, types of floppy and hard disk drives, and other 
information as well. Some of the more modern motherboards use extended NVRAM 
chips with as much as 2K or more of space to hold this configuration information. This 
is especially true for the new breed of Plug and Play systems, where the configuration of *< 

not only the motherboard, but also of adapter cards is stored. This information can then Jf 

be read every time the system is powered on. a 

r\ 

These chips are normally powered by some type of battery while the system is off to 2 

preserve the information in the NVRAM and to power the clock. Most often a lithium -Q 

type battery is used, because they have a very long life, especially at the low power draw 3 

from the typical RTC/NVRAM chip. % 

Most of the higher quality modern systems sold today have a new type of chip that has 
the battery embedded within it. These are made by several companies, including Dallas 
Semiconductor and Benchmarq. These are notable for their long life. Under normal con- 
ditions, the battery within these chips will last for 10 years, which is of course longer 
than the useful life of the system. If your system uses one of the Dallas or Benchmarq 
modules, the battery and chip must be replaced as a unit because they are integrated. 
Most of the time these chip/battery combinations will be installed in a socket on the 
motherboard just in case there is a problem requiring an early replacement. You can get 
new modules for $18 or less direct from the manufacturers, which is often less than the 
cost of the older separate battery alone. 

Some systems do not use a battery at all. Hewlett-Packard, for example includes a special 
capacitor in many of their systems that is automatically recharged any time the system is 
plugged in. Note that the system does not have to be running for the capacitor to charge, 
it only has to be plugged in. If the system is unplugged, the capacitor will power the 
RTC/NVRAM chip for up to a week or more. If the system remains unplugged for a dura- 
tion longer than that, the NVRAM information will be lost. In that case, these systems 



366 Chapter 8 — The Power Supply 

can reload the NVRAM from a backup kept in a special Flash ROM chip contained on the 
motherboard. The only information that will actually be missing when you re-power the 
system is the date and time, which will have to be re-entered. By using the capacitor 
combined with a NVRAM backup in Flash ROM, they have a very reliable system that 
will last indefinitely. 

Many systems use only a conventional battery, which may be either directly soldered 
into the motherboard or plugged in via a battery connector. For those systems with the 
battery soldered in, should it ever fail, they will normally have a spare battery connector 
on the motherboard where a conventional plug in battery can be used. In most cases you 
would never have to replace the motherboard battery, even if it were completely dead. 

Conventional type batteries come in many forms. The best are of a lithium design be- 
cause they will last from two to five years or more. I have seen systems with conven- 
tional alkaline batteries mounted in a holder, which are much less desirable as they fail 
more frequently and do not last as long. Also, they can be prone to leak, and if a battery 
leaks on the motherboard, it may be severely damaged. 

Besides the different battery types, there are several different voltages used. The batteries 
used in PCs are normally either 3.6v, 4.5v, or 6v. If you are replacing the battery, make 
sure that your replacement is the same voltage as the one you removed from the system. 
Some motherboards can use batteries of several different voltages, and will have a jumper 
or switch to select the different settings. If you suspect your motherboard has this capa- 
bility, consult the documentation for instructions on how to change the settings. Of 
course the easiest thing to do is to replace the existing battery with another of the same 
type, in which case the settings would not have to be changed. 

When you replace a PC battery, be sure that you get the polarity correct, or you will 
damage the RTC/NVRAM (CMOS) chip. Because these are soldered into most 
motherboards, this will be an expensive mistake! The battery connector on the 
motherboard as well as the battery itself are normally keyed to prevent a backwards con- 
nection. The pinout of this connector is in Appendix A, but should also be listed in your 
system documentation. 

When you replace a battery, in most cases the existing data stored in the NVRAM will be 
lost. Often the data will remain for several minutes (I have observed NVRAM retain infor- 
mation with no power for an hour or more), so if you make the swap quickly the infor- 
mation in the NVRAM will be retained. Just to be sure, it is recommended that you 
record all the system configuration settings stored in the NVRAM by your system SETUP 
program. In most cases you would want to run the BIOS SETUP program and print out 
all the screens showing the different settings. Some SETUP programs offer the ability to 
save the NVRAM data to a file for later restoration if necessary. That would be a good 
idea if it is an option in your system. 

After replacing a battery, power up the system and use the SETUP program to check the 
date and time setting as well as any other data that was stored in the NVRAM. 



Summary 367 



Summary 



This chapter examined the power supply in great detail. You should now have an under- 
standing of how the supply functions in the system and the characteristics of power 
supply operation. You should understand the function of the PowerGood signal and its 
role in the system. Also covered was troubleshooting power supply problems and using 
test equipment to check out power supply operation. I have always found that the power 
supply is the single most failure-prone component in a PC system, and the information 
presented here should help greatly whether you are building systems from scratch, up- 
grading existing systems, or repairing a system with a failing power supply. 




VI 

1+ 
ft 

3 

n 

o 

3 

•a 
o 

3 

ft 

3 




Part 



Input/Output 
Hardware 



,4aTTnnnniiirii 






9 Input Devices 

10 Video Display Hardware 

1 1 Communications and Networking 

12 Audio Hardware 














o 






Chapter 9 

nput Devices 



This chapter discusses input devices — the devices used to communicate with the com- 
puter. The most common input device is, of course, the keyboard, and this chapter dis- 
cusses keyboards in depth. It also discusses mice and other pointing device alternatives 
because they are now a standard requirement for operating a modern PC with a GUI 
(graphical user interface) such as Windows or OS/2. Finally, this chapter also discusses 
the game or joystick interface, which is used to input signals from joysticks, paddles, or 
other game devices. 



Keyboards 



One of the most basic system components is your keyboard. The keyboard is the primary 
input device. It is used for entering commands and data into the system. This section 
looks at the keyboards available for PC compatible systems. It examines the different 
types of keyboards, how the keyboard functions, the keyboard-to-system interface, and 
keyboard troubleshooting and repair. 

Types of Keyboards 

Over the years since the introduction of the original IBM PC, IBM has created three dif- 
ferent keyboard designs for PC systems, and Microsoft has augmented one of them. They 
have become standards in the industry and are shared by virtually all of the PC compat- 
ible manufacturers. More recently with the introduction of Windows 95, a modified 
version of the 101-key design (created by Microsoft) has appeared. The primary keyboard 
types are 



3 
■3 
C 



"0 
C 



■ 83-key PC and XT keyboard 

■ 84-key AT keyboard 

■ 101-key enhanced keyboard I 

■ 104-key enhanced Windows keyboard a. 

a 

This section discusses each keyboard type and shows their layout and physical appear- Jj 

ance. Because most systems use keyboards based on the 101 and 104-key enhanced key- 
board designs, these versions are emphasized. 



372 



Chapter 9 — Input Devices 



83-Key PC and XT Keyboard. When the original PC was first introduced, it had some- 
thing that few other personal computers had at the time: an external detachable key- 
board. Most other small personal computers of the time had the keyboard built in, like 
the Apple II. Although the external design was a good move on IBM's part, the keyboard 
design was not without its drawbacks. One of the most criticized components of the 
original 83-key keyboard is the awkward layout (see fig. 9.1). The Shift keys are small and 
in the wrong place on the left side. The Enter key is also too small. These oversights were 
especially irritating at the time because IBM had produced the Selectric typewriter, per- 
ceived as a standard for good keyboard layout. 



00 00OOO0OOSDOO00LM 



00 HJ0Q0O0D000QBJU0 



Bn000on0000000 L 



0D0OOOOnOQ000[M 



7 HllVllMlPl 

ijomel||l_T_|||pgUpJ][| || 

0O0D 

V ipii Ml TV 

End. ♦ .PgDn + 



Figure 9.1 

PC and XT 83-key keyboard layout. 

This keyboard has a built-in processor that communicates with the motherboard via a 
special serial data link. The communication is one-way, which means that the mother- 
board cannot send commands or data back to the keyboard. For this reason, IBM 83-key 
keyboards have no LED indicator lights. Because the status of the Caps Lock, Num Lock, 
and Scroll Lock are maintained by the motherboard, there is no way to make sure that 
any LED indicator lights remain in sync with the actual status of the function. Many 
aftermarket (non-IBM) PC keyboards added the lights, and the keyboard attempted to 
keep track of the three functions independently of the motherboard. This worked in 
most situations, but it was entirely possible to see the LEDs become out of sync with the 
actual function status. Rebooting corrected this temporary problem, but it was annoying 
nonetheless. By eliminating the lights, IBM keyboards did not have this potential prob- 
lem. 

The original 83-key PC/XT keyboard is no longer used and is not electrically compatible 
with AT compatible motherboards, although some aftermarket units may be compatible 
by moving an XT/ AT switch usually found on the bottom of the keyboard. 

84-Key AT Keyboard. When the AT was introduced in 1984, it included a new key- 
board — the 84-key unit (see fig. 9.2). This keyboard corrected many problems of the 
original PC and XT keyboards. The position and arrangement of the numeric keypad was 
modified. The Enter key was made much larger, like that of a Selectric typewriter. The 
Shift key positions and sizes were corrected. IBM also finally added LED indicators for the 
status of the Caps Lock, Scroll Lock, and Num Lock toggles. 



Keyboards 



373 



SO 



CED 




> 



Figure 9.2 

AT 84-key keyboard layout. 

These keyboards use a slightly modified interface protocol that is bidirectional. This 
means that the processor built in to the keyboard can talk to another processor (called 
the keyboard controller chip) built in to the motherboard. The keyboard controller on the 
motherboard can send commands and data to the keyboard, which allows functions 
such as changing the keyboard typematic (or repeat) rate as well as the delay before re- 
peating begins. The keyboard controller on the motherboard also performs scan code 
translations, which allows a much easier integration of foreign language keyboards into 
the system. Scan codes are the names for the hexadecimal codes actually sent by the 
keyboard to the motherboard. The bi-directional interface can be used to control the LED 
indicators on the keyboard, thus ensuring that the status of a particular function and the 
corresponding indicator are always in sync. 

The 84-key unit that came with the original AT system is no longer used, although its 
electrical design is compatible with newer systems. It lacks some of the keys found in the 
newer keyboards and does not have as nice a numeric keypad section, but many users 
prefer the more Selectric-style layout of the alphanumeric keys. Likewise, some users 
prefer to have the 10 function keys arranged on the left-hand side as opposed to the 
enhanced arrangement in which 12 function keys are lined up along the top. 

Enhanced 101-Key (or 102-Key). In 1986, IBM introduced the "corporate" enhanced 
101-key keyboard for the newer XT and AT models (see fig. 9.3). I use the word "corpo- 
rate" because this unit first appeared in IBM's RT PC, which is a RISC (Reduced Instruc- 
tion Set Computer) system designed for scientific and engineering applications; 
keyboards with this design are now supplied with virtually every type of system and 
terminal that IBM sells. Other companies quickly copied this design, and it has been the 
standard on PC compatible systems ever since. This universal keyboard has a further 
improved layout over that of the 84-key unit, with perhaps the exception of the Enter 
key, which reverted to a smaller size. The 101-key enhanced keyboard was designed to 
conform to international regulations and specifications for keyboards. In fact, other 
companies such as DEC and TI had already been using designs similar to the IBM 101- 
key unit. The IBM 101-key units originally came in versions with and without the status 
indicator LEDs, depending on whether the unit was sold with an XT or AT system. Now 
there are many other variations to choose from, including some with integrated pointing 
devices. 



3 
■3 
C 

Ft 

o 

e 

•a 
c 



SI 

3. 

01 

2 



374 



Chapter 9 — Input Devices 



F5 F6 F7 F8 



ODHOOBBIJC 



3D Q Q QJPJPJPJPJPJPJPJPl 



QQQQQQOB 

EsonnnnnnnnQE 



y 



RES 



□DP 



HD( 



Figure 9.3 

101-key enhanced keyboard layout. 






The enhanced keyboard is available in several different variations, but all are basically 
the same electrically and can be interchanged. IBM and its Lexmark keyboard and printer 
subsidiary have produced a number of versions, including keyboards with built-in point- 
ing devices and new ergonometric layouts. Most of the enhanced keyboards attach to the 
system via the standard 5-pin DIN connector, but many others come with cables for the 
6-pin mini-DIN connector found on many newer systems, including the IBM PS/2s and 
most Slimline compatibles. Although the connectors may be physically different, the 
keyboards are not, and you can either interchange the cables or use a cable adapter to 
plug one type into the other. 

Because older PC/XT-style systems lack the bi-directional keyboard interface required to 
drive the LED indicators found on most enhanced keyboards, IBM even made models 
without these lights (Caps Lock, Num Lock, and Scroll Lock). These keyboards are the 
same as the others, but they are missing the small add-on circuit board used to drive the 
lights. If you use an older XT system with an enhanced keyboard that has the LEDs, they 
simply remain dark. Some compatible keyboard manufacturers have added circuitry 
internal to the keyboard that turns the LEDs on and off whenever you press the appro- 
priate keys. In such a case, however, it is possible for the LEDs to get "out of sync" with 
the actual state of the toggles, which are actually maintained within the computer and 
not the keyboard. 

The 101-key keyboard layout can be divided into the following four sections: 

■ Typing area 

■ Numeric keypad 

■ Cursor and screen controls 

■ Function keys 

The 101-key arrangement is similar to the Selectric keyboard layout with the exception 
of the Enter key. The Tab, Caps Lock, Shift, and Backspace keys have a larger striking area 
and are located in the familiar Selectric locations. Ctrl and Alt keys are on each side of 



Keyboards 375 

the space bar. The typing area and numeric keypad have home-row identifiers for touch 
typing. 

The cursor and screen-control keys have been separated from the numeric keypad, which 
is reserved for numeric input. (As with other PC keyboards, you can use the numeric 
keypad for cursor and screen control when the keyboard is not in Num Lock mode.) A 
division-sign key and an additional Enter key have been added to the numeric keypad. 

The cursor-control keys are arranged in the inverted T format. The Insert, Delete, Home, 
End, Page Up, and Page Down keys, located above the dedicated cursor-control keys, are 
separate from the numeric keypad. The function keys, spaced in groups of four, are lo- 
cated across the top of the keyboard. The keyboard has two additional function keys — 
Fll and F12). The Esc key is isolated in the upper-left corner of the keyboard. Dedicated 
Print Screen/Sys Req, Scroll Lock, and Pause/Break keys are provided for commonly used 
functions. 

Foreign language versions of the enhanced keyboard include 1 02-key s and a slightly 
different layout from the 101-key United States versions. 

One of the many useful features of the enhanced keyboard is removable keycaps. With 
clear keycaps and paper inserts, you can customize the keyboard. Keyboard templates are 
also available to provide specific operator instructions. 

The enhanced keyboard will probably come with any PC-compatible desktop system for 
quite some time. It is currently the most popular design and does not show any signs of 
being replaced in the future. Because most compatible systems use this same type of 
keyboard, it is relatively easy to move from one system to another without relearning the 
layout. 

104-Key (Windows keyboard). If you are a touch typist like I am, then you really hate 
to take your hands off the keyboard to use a mouse. Windows 95 makes this even more 
of a problem, because it exploits both mouse buttons. Many new keyboards, especially 
those in portable computers, include a variation of the IBM Trackpoint or the Alps 
Glidepoint (both of which are discussed later in this chapter) which allow touch typists 
to keep their hands on the keyboard even while moving the pointer. There is still an- 
other alternative that can help. Microsoft has come up with a specification that calls for 
three new Windows-specific keys to be added to the keyboard. These new keys help with — 

functions that would otherwise require multiple keystrokes or mouse clicks. 



Microsoft has released a Windows keyboard specification that outlines a set of new keys 



O 



and key combinations. The familiar 101-key layout grows to 104 keys, with the addition C 

of left and right Windows keys and an Application key. These keys will be used for 

operating-system and application-level keyboard combinations, similar to today's Ctrl 

and Alt combinations. You don't need the new keys to use Windows 95 or NT, but soft- J 

ware vendors are starting to add specific functions to their Windows products that will 3. 

utilize the new Application key (which is the same as the right mouse button). 



The standard Windows keyboard layout calls for a shortened space bar, flanked by two 
Windows Logo keys (called WIN keys), and an Application key on the far right side. The 



376 Chapter 9 — Input Devices 

WIN keys open the Start menu, which then can be navigated with the arrow keys. The 
Application key simulates the right mouse button; in most applications it brings up 
context-sensitive pop-up menus. Several WIN key combinations offer preset macro com- 
mands as well. For example, you press WIN+E to bring up the Windows Explorer. The 
following table shows a list of all the new Windows 95 key combinations: 

Key Combination Action 

WIN+R Displays Run dialog box 

WIN+M Minimizes All 

Shift+WIN+M Undoes Minimize All 

WIN+F1 Starts Help 

WIN+E Starts Windows Explorer 

WIN+F Finds files or folders 

Ctrl+WIN+F Finds computer 

WIN+Tab Cycles through taskbar buttons 

WIN+Break Displays System properties dialog box 

The Windows keyboard specification requires that keyboard makers increase the number 
of trilograms in their keyboard designs. A trilogram is a combination of three rapidly 
pressed keys that perform a special function, such as Ctrl+Alt+Del. Designing a keyboard 
so that the switch matrix will correctly register trilograms is expensive, and this plus the 
additional Windows keys themselves will cause the price of these keyboards to rise. Vol- 
ume sales should keep the price reasonable, as well as the natural market competition. 

Virtually every keyboard manufacturer is now producing keyboards with these Windows- 
specific keys. Some are also combining these new keys with other features. For example, 
besides the new Windows keys, the Microsoft Natural Keyboard includes ergonomic 
features, such as split keypads that are rotated out from the middle to encourage a 
straight wrist position. It takes some getting used to. Unfortunately, this keyboard (made 
by Keytronics for Microsoft) does not have nearly the feel of the mechanical switch de- 
signs like Alps, Lite-On, or NMB, or the extremely high-quality feel of the Lexmark key- 
boards. 

In addition to the Windows keys, other companies like Lexmark, NMB, and Alps have 
licensed a new space bar design from Keyboard Enhancements, Inc. called "Erase-Ease." 
This new design splits the space bar into two parts, using the shorter left (or optionally 
the right) half as an additional Backspace key. If you see a keyboard advertising 105 -keys, 
then it probably has both the 3 additional Windows keys plus the extra Backspace key 
next to the space bar. 

Although the new Windows keys are not mandatory when running Windows, and cer- 
tainly not everybody will have them, I do expect more and more new PC systems to 
include keyboards with these extra keys. They can make it easier for both experienced 
touch typists as well as novice users to access some of the functions of Windows and 
their applications. 



Keyboards 377 

Compatibility. The 83-key PC/XT type is different from all the others and normally 
plugs into only 8-bit PC/XT systems that do not use the motherboard based 8042-type 
keyboard controller chip. This is definitely true for IBM's keyboards and also is true for 
many compatible units. Some compatibles may be switchable to work with an AT-type 
motherboard via an XT/ AT switch. 

The 84-key unit from IBM works on only AT-type 16-bit (or greater) motherboards and 
does not work at all with PC/XT systems. Again, some aftermarket designs may have an 
XT/ AT switch to allow for compatibility with PC/XT-type systems. If you have the key- 
board set in the wrong mode, it will not work, but no damage will occur. 

The enhanced keyboards from IBM are universal and auto-switching, which means that 
they work in virtually any system from the XT to the PS/2 or any PC-compatible by sim- 
ply plugging them in. Some may require that a switch be moved on the keyboard to 
make it compatible with PC/XT systems that do not have the 8042-type keyboard con- 
troller on the motherboard. In some cases, you may also need to switch to a different 
cable with the proper system end connector, or use an adapter. 

Although the enhanced keyboard is electrically compatible with any AT-type 
motherboard and even most PC/XT-type motherboards, many older systems will have 
software problems using these keyboards. IBM changed the ROM on the systems to sup- 
port the new keyboard properly, and the compatible vendors followed suit. Very old 
(1986 or earlier) machines may require a ROM upgrade to use properly some of the fea- 
tures on the 101-key enhanced keyboards, such as the Fll and F12 keys. If the individual 
system ROM BIOS is not capable of operating the 101-key keyboard correctly, the 101- 
key keyboard may not work at all (as with all three ROM versions of the IBM PC); the 
additional keys (Fll and F12 function keys) may not work; or you may have problems 
with keyboard operation in general. In some cases, these compatibility problems cause 
improper characters to appear when keys are typed (causing the system to beep), and 
general keyboard operation is a problem. These problems can often be solved by a ROM 
upgrade to a newer version with proper support for the enhanced keyboard. 

If you have an older IBM system, you can tell whether your system has complete ROM 
BIOS support for the 101-key unit: When you plug in the keyboard and turn on the sys- 
tem unit, the Num Lock light automatically comes on and the numeric keypad portion 
of the keyboard is enabled. This method of detection is not 100-percent accurate, but if — 

the light goes on, your BIOS generally supports the keyboard. A notable exception is the *o 

IBM AT BIOS dated 06/10/85; it turns on the Num Lock light, but still does not properly 5- 

support the enhanced keyboard. All IBM BIOS versions dated since 11/15/85 have proper o 

support for the enhanced keyboards. 



s 

■a 
s 



a. 



In IBM systems that support the enhanced keyboard, if it is detected on power up, Num 

Lock is enabled, and the light goes on. If one of the older 84-key AT-type keyboards is 

detected, the Num Lock function is not enabled because these keyboards do not have 

arrow keys separate from the numeric keypad. When the enhanced keyboards first ap- S 

peared in 1986, many users (including me) were irritated on finding that the numeric jg 

keypad was automatically enabled every time the system boots. Most compatibles began 

integrating a function into the system setup that allowed specification of the Num Lock 

status on boot. 



378 Chapter 9 — Input Devices 

Some thought that the automatic enabling of Num Lock was a function of the enhanced 
keyboard because none of the earlier keyboards seemed to operate this way. Remember 
that this function is not really a keyboard function; it is a function of the motherboard 
ROM BIOS, which identifies an enhanced 101-key unit and turns on the Num Lock as a 
"favor." In systems that cannot disable the automatic numeric keypad enable feature, 
you can use the DOS 6.0 or higher version NUMLOCK= parameter in CONFIG.SYS to 
turn Num Lock on or off as desired. If you are running a version of DOS earlier than 6.0, 
you can use one of the many public domain programs available for turning off the 
Num Lock function. Inserting the program command to disable Num Lock in the 
AUTOEXEC.BAT file turns off the numeric keypad whenever the system reboots. 

In an informal test, I plugged the new keyboard into an earlier XT. The keyboard seemed 
to work well. None of the keys that did not exist previously, such as Fll and F12, were 
operable, but the new arrow keys and the numeric keypad worked. The enhanced key- 
board seems to work on XT or AT systems, but it does not function on the original PC 
systems because of BIOS and electrical interface problems. Many compatible versions of 
the 101-key enhanced keyboards have a manual XT/ AT switch on the bottom that may 
allow the keyboard to work in an original PC system. 

Keyboard Technology 

The technology that makes up a typical PC keyboard is very interesting. This section 
focuses on all aspects of keyboard technology and design, including the key switches, 
the interface between the keyboard and the system, scan codes, and the keyboard 
connectors. 

Keyswitch Design. Several types of switches are used in keyboards today. Most key- 
boards use one of several variations on a mechanical key switch. A mechanical key 
switch relies on a mechanical momentary contact type switch to make electrical contact 
in a circuit. Some high-end keyboard designs use a totally different nonmechanical de- 
sign that relies on capacitive switches. This section discusses these switches and the high- 
lights of each design. 

The most common type of key switch is the mechanical type, available in the following 
variations: 

■ Pure mechanical 

■ Foam element 

■ Rubber dome 

■ Membrane 

The pure mechanical type is just that, a simple mechanical switch that features metal 
contacts in a momentary contact arrangement. Often a tactile feedback mechanism — 
consisting of a clip and spring arrangement to give a "clickey" feel to the keyboard and 
offer some resistance to pressing the key — is built in. Several companies, including Alps 
Electric, Lite-On and NMB Technologies, manufacture this type of keyboard using 
switches primarily from Alps Electric. Mechanical switches are very durable, usually have 



Keyboards 



379 



self-cleaning contacts, and normally are rated for 20 million keystrokes, which is second 
only to the capacitive switch. They also offer excellent tactile feedback. 

Foam element mechanical switches were a very popular design in some older keyboards. 
Most of the older compatible keyboards, including those made by Keytronics and many 
others, use this technology. These switches are characterized by a foam element with an 
electrical contact on the bottom that is mounted on the bottom of a plunger attached to 
the key itself (see fig. 9.4). 



Key top 



Press down 
on key top 




E5555555g£| KsggSgg 



Foil layer on 
bottom of foam 





Foil layer makes 

connection between 

contacts 



Figure 9.4 

Typical foam element mechanical keyswitch. 



When the switch is pressed down, a foil conductor on the bottom of the foam element 
closes a circuit on the printed circuit board below. A return spring pushes the key back 
up when the pressure is released. The foam dampens the contact, helping to prevent 
bounce, but unfortunately gives these keyboards a "mushy" feel. The big problem with 
this type of keyswitch design is that there is often little in the way of tactile feedback, 
and systems with these keyboards often resort to tricks such as clicking the PC's speaker 
to signify that contact has been made. Compaq has used keyboards of this type (made by 
Keytronics) in many of their systems, but perhaps the most popular user today is Packard 
Bell. Preferences in keyboard feel are somewhat subjective; I personally do not favor the 
foam element switch design. 

Another problem with this type of design is that it is more subject to corrosion on the 
foil conductor and the circuit board traces below. When this happens, the key strikes 
may become intermittent, which can be frustrating. Fortunately, these keyboards are 
among the easiest to clean. By disassembling this type of keyboard completely, you can 
usually remove the circuit board portion without removing each foam pad separately, 
and expose the bottoms of all the pads. Then you can easily wipe the corrosion and dirt 
off the bottom of the foam pads and the circuit board, thus restoring the keyboard to 
"like new" condition. Unfortunately, over time, the corrosion problem will occur again. I 
recommend using some Stabilant 22a from D.W. Electrochemicals to improve the switch 
contact action and to prevent future corrosion. Because of problems like this, the foam 



3 
■3 
C 

Ft 

o 

e 

•a 
c 



SI 

3. 

01 

2 



380 Chapter 9 — Input Devices 

element design is not used much anymore and has been superseded in popularity by the 
rubber dome design. 

Rubber dome switches are mechanical switches that are similar to the foam element type 
but are improved in many ways. Instead of a spring, these switches use a rubber dome 
that has a carbon button contact on the underside. As you press a key, the key plunger 
presses down on the rubber dome, causing it to resist and then collapse all at once, much 
like the top of an oil can. As the rubber dome collapses, the user feels the tactile feed- 
back, and the carbon button makes contact between the circuit board traces below. 
When the key is released, the rubber dome reforms and pushes the key back up. 

The rubber eliminates the need for a spring and provides a reasonable amount of tactile 
feedback without any special clips or other parts. A carbon button is used because it is 
resistant to corrosion and also has a self-cleaning action on the metal contacts below. 
The rubber domes are formed into a sheet that completely protects the contacts below 
from dirt, dust, and even minor spills. This type of design is the simplest, using the few- 
est parts. These things make this type of keyswitch very reliable and help make rubber 
dome type keyboards the most popular in service today. 

If rubber dome keyboards have a drawback at all, it is that the tactile feedback is not as 
good as many users would like. Although it is reasonable for most, some users prefer 
more tactile feedback than rubber dome keyboards normally provide. 

The membrane keyboard is a variation on the rubber dome type in which the keys them- 
selves are no longer separate, but are formed together in a sheet that sits on the rubber 
dome sheet. This severely limits key travel, and membrane keyboards are not considered 
usable for normal touch typing because of this. They are ideal in extremely harsh envi- 
ronments. Because the sheets can be bonded together and sealed from the elements, 
membrane keyboards can be used in situations in which no other type could survive. 
Many industrial applications use membrane keyboards especially for terminals that do 
not require extensive data entry but are used to operate equipment such as cash registers. 

Capacitive switches are the only nonmechanical type of switch in use today (see fig. 9.5). 
These are the Cadillac of keyswitches. They are much more expensive than the more 
common mechanical rubber dome, but they also are more resistant to dirt and corrosion 
and offer the highest-quality tactile feedback of any type of switch. 

A capacitive switch does not work by making contact between conductors. Instead, two 
plates usually made of plastic are connected in a switch matrix designed to detect 
changes in the capacitance of the circuit. 

When the key is pressed, the plunger moves the top plate relative to the fixed bottom 
plate. Usually a mechanism provides for a distinct over-center tactile feedback with a 
resounding "click." As the top plate moves, the capacitance between the two plates 
changes and is detected by the comparator circuitry in the keyboard. 

Because this type of switch does not rely on metal contacts, it is nearly immune to corro- 
sion and dirt. These switches are very resistant to key bounce problems that result in 
multiple characters appearing from a single strike. They are also the most durable in the 



Keyboards 



381 



industry — rated for 25 million or more keystrokes, as opposed to 10 to 20 million for 
other designs. The tactile feedback is unsurpassed because a relatively loud click and 
strong over-center feel normally are provided. The only drawback to this design is the 
cost. Capacitive switch keyboards are among the most expensive designs, but the quality 
of the feel and their durability are worth it. 




Upper plate 
is movable 



Lower plate 
is fixed 



Output 



Figure 9.5 

A capacitive keyswitch. 

Traditionally, the only vendors of capacitive keyswitch keyboards have been IBM and its 
keyboard division Lexmark, which is why these keyboards have always seemed to stand 
out as superior from the rest. 

The Keyboard Interface. A keyboard consists of a set of switches mounted in a grid or 
array called the key matrix. When a switch is pressed, a processor in the keyboard itself 
identifies which key is pressed by identifying which grid location in the matrix shows 
continuity. The keyboard processor also interprets how long the key is pressed and can 
even handle multiple keypresses at the same time. A 16-byte hardware buffer in the key- 
board can handle rapid or multiple keypresses, passing each one in succession to the 
system. 

When you press a key, in most cases the contact actually bounces slightly, meaning that 
there are several rapid on-off cycles just as the switch makes contact. This is called 
bounce, and the processor in the keyboard is designed to filter this, or debounce the key- 
stroke. The keyboard processor must distinguish bounce from a double keystrike actually 
intended by the keyboard operator. This is fairly easy because the bouncing is much 
more rapid than a person could simulate by striking a key quickly several times. 

The keyboard in an PC-compatible system is actually a computer itself. It communicates 
with the main system through a special serial data link that transmits and receives data 
in 11-bit packets of information consisting of eight data bits in addition to framing and 
control bits. Although it is indeed a serial (the data flows on one wire) link, it is not 
compatible with the standard RS-232 serial port commonly used to connect modems. 
The original PC/XT setup was a one-way connection; however, the AT design is bi- 
directional, which means that the keyboard can receive as well as send data. In this 
manner, the AT keyboard could be reprogrammed in several different ways. 



3 
■3 
C 

Ft 

o 

e 

•a 
c 



SI 

3. 

01 

2 



382 Chapter 9 — Input Devices 

The processor in the original PC keyboard was an Intel 8048 microcontroller chip. Newer 
keyboards often use an 8049 version that has built-in ROM or other microcontroller 
chips compatible with the 8048 or 8049. For example, in its enhanced keyboards, IBM 
has always used a custom version of the Motorola 6805 processor, which is compatible 
with the Intel chips. The keyboard's built-in processor reads the key matrix, debounces 
the keypress signals, converts the keypress to the appropriate scan code, and transmits 
the code to the motherboard. The processors built in to the keyboard contain their own 
RAM, possibly some ROM, and a built-in serial interface. 

In the original PC/XT design, the keyboard serial interface is connected to an 8255 Pro- 
grammable Peripheral Interface (PPI) chip on the motherboard of the PC/XT. This chip 
is connected to the interrupt controller IRQ1 line, which is used to signal that keyboard 
data is available. The data itself is sent from the 8255 to the processor via I/O port ad- 
dress 60h. The IRQ1 signal causes the main system processor to run a subroutine (INT 
9h) that interprets the keyboard scan code data and decides what to do. 

In an AT-type keyboard design, the keyboard serial interface is connected to a special 
keyboard controller on the motherboard. This is an Intel 8042 Universal Peripheral Inter- 
face (UPI) slave microcontroller chip in the original AT design. This microcontroller is 
essentially another processor that has its own 2K of ROM and 128 bytes of RAM. An 
8742 version that uses EPROM (Erasable Programmable Read Only Memory) can be 
erased and reprogrammed. Often when you get a motherboard ROM upgrade from a 
motherboard manufacturer, it includes a new keyboard controller chip because it has 
somewhat dependent and updated ROM code in it as well. Some systems may use the 
8041 or 8741 chips, which differ only in the amount of ROM or RAM built in, whereas 
other systems now have the keyboard controller built into the main system chipset. 

In an AT system, the (8048-type) microcontroller in the keyboard sends data to the 
(8042-type) motherboard keyboard controller on the motherboard. The motherboard- 
based controller can also send data back to the keyboard. When the keyboard controller 
on the motherboard receives data from the keyboard, it signals the motherboard with an 
IRQ1 and sends the data to the main motherboard processor via I/O port address 60h, 
just as in the PC/XT. Acting as an agent between the keyboard and the main system 
processor, the 8042-type keyboard controller can translate scan codes and perform sev- 
eral other functions as well. Data also can be sent to the 8042 keyboard controller via 
port 60h, which is then passed on to the keyboard. Additionally, when the system needs 
to send commands to or read the status of the keyboard controller on the motherboard, 
it reads or writes through I/O port 64h. These commands are also usually followed by 
data sent back and forth via port 60h. 

In most older systems the 8042 keyboard controller is also used by the system to control 
the A20 memory address line, which controls access to system memory over 1 megabyte. 
More modern motherboards usually incorporate this functionality directly in the 
motherboard chipset. This aspect of the keyboard controller is discussed in Chapter 7, 
"Memory" in the section that covers the High Memory Area (HMA). 

Typematic Functions. If a key on the keyboard is held down, it becomes typematic, 
which means that the keyboard repeatedly sends the keypress code to the motherboard. 



Keyboards 



383 



In the AT-style keyboards, the typematic rate is adjustable by sending the keyboard pro- 
cessor the appropriate commands. This is not possible for the earlier PC/XT keyboard 
types because the keyboard interface is not bi-directional. 

AT-style keyboards have a programmable typematic repeat rate and delay parameter. 
The DOS MODE command in versions 4.0 and later enables you to set the keyboard 
typematic (repeat) rate as well as the delay before typematic action begins. The default 
value for the RATE parameter (r) is 20 for PC-compatible systems and 21 for IBM PS/2 
systems. The default value for the DELAY parameter (d) is 2. To use the MODE command 
to set the keyboard typematic rate and delay, use the following command: 

MODE C0N[:] [RATE=r DELAY=d] 

The acceptable values for the rate "r" and the resultant typematic rate in characters per 
second (cps) are shown in table 9.1. 



Table 9.1 DOS 4.0+ MODE Command Keyboard Typematic Rate Parameters 



RATE No. 



Rate ± 20% 



RATE No. 



Rate ± 20% 



32 


30.0cps 


31 


26.7cps 


30 


24.0cps 


29 


21.8cps 


28 


20.0cps 


27 


18.5cps 


26 


17.1 cps 


25 


1 6.0cps 


24 


15.0cps 


23 


13.3cps 


22 


12.0cps 


21 


10.9cps 


20 


1 0.Ocps 


19 


9.2cps 


18 


8.6cps 


17 


8.0cps 



16 


7.5cps 


15 


6.7cps 


14 


6.0cps 


13 


5.5cps 


12 


5.0cps 


11 


4.6cps 


10 


4.3cps 


9 


4.0cps 


8 


3.7cps 


7 


3.3cps 


6 


3.0cps 


5 


2.7cps 


4 


2.5cps 


3 


2.3cps 


2 


2.1 cps 


1 


2.0cps 



Table 9.2 shows the values for DELAY and the resultant delay time in seconds. 



Table 9.2 DOS MODE Command Keyboard Typematic Delay Parameters 




DELAY No. Delay Time 



1 


0.25sec 


2 


0.50sec 


3 


0.75sec 


4 


1 .OOsec 



3 
■3 
C 

Ft 

o 

e 

•a 
c 



SI 

3. 

01 

2 



384 Chapter 9 — Input Devices 

For example, I always place the following command in my AUTOEXEC.BAT file: 

MODE CON: RATE=32 DELAY=1 

This command sets the typematic rate to the maximum speed possible, or 30 characters 
per second. It also trims the delay to the minimum of 0.25 second before repeating be- 
gins. This command "turbocharges" the keyboard and makes operations requiring re- 
peated keystrokes work much faster, such as moving within a file using arrow keys. The 
quick typematic action and short delay can sometimes be disconcerting to ham-fisted 
keyboard operators. In that case, slow typists might want to leave their keyboard speed 
at the default until they become more proficient. 

If you have an older system or keyboard, you may receive the following message: 

Function not supported on this computer 

This indicates that your system, keyboard, or both do not support the bi-directional 
interface or commands required to change the typematic rate and delay. Upgrading the 
BIOS or the keyboard may enable this function, but it is probably not cost-effective to 
do this on an older system. 

Note that many BIOS versions feature keyboard speed selection capability, however not 
all of them allow full control over the speed and delay. 

Keyboard Key Numbers and Scan Codes. When you press a key on the keyboard, the 
processor built into the keyboard (8048- or 6805-type) reads the keyswitch location in 
the keyboard matrix. The processor then sends to the motherboard a serial packet of data 
that contains the scan code for the key that was pressed. In AT-type motherboards that 
use an 8042-type keyboard controller, the 8042 chip translates the actual keyboard scan 
code into one of up to three different sets of system scan codes, which are sent to the 
main processor. It can be useful in some cases to know what these scan codes are, espe- 
cially when troubleshooting keyboard problems or when reading the keyboard or system 
scan codes directly in software. 

When a keyswitch on the keyboard sticks or otherwise fails, the scan code of the failed 
keyswitch is usually reported by diagnostics software, including the POST (Power On 
Self-Test), as well as conventional disk-based diagnostics. This means that you have to 
identify the particular key by its scan code. Tables 9.3 through 9.7 list all the scan codes 
for every key on the 83-, 84-, and 101-key keyboards. By looking up the reported scan 
code on these charts, you can determine which keyswitch is defective or needs to be 
cleaned. 

Note that the 101 -key enhanced keyboards are capable of three different scan code sets. 
Set 1 is the default. Some systems, including some of the PS/2 machines, use one of the 
other scan code sets during the POST. For example, my P75 uses Scan Code Set 2 during 
the POST but switches to Set 1 during normal operation. This is rare, but it is useful to 
know if you are having difficulty interpreting the Scan Code number. 

IBM also assigns each key a unique key number to distinguish it from the others. This is 
important when you are trying to identify keys on foreign keyboards, which may use 



Keyboards 



385 



different symbols or characters from the United States models. In the case of the en- 
hanced keyboard, most foreign models are missing one of the keys (key 29) found on the 
United States version and have two other additional keys (keys 42 and 45) as well. This 
accounts for the 102-key total rather than the 101-keys found on the United States 
version. 

Figure 9.6 shows the keyboard numbering and character locations for the original 83-key 
PC keyboard. Table 9.3 shows the scan codes for each key relative to the key number and 
character. 




.El 
EDO 



Figure 9.6 

83-key PC keyboard key number and character locations. 



Table 9.3 83-Key (PC/XT) Keyboard Key Numbers and Scan Codes 



Key 
Number 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 



Scan 
Code 



Key 



01 


Escape 


02 


1 


03 


2 


04 


3 


05 


4 


06 


5 


07 


6 


08 


7 


09 


8 


0A 


9 


0B 





OC 


- 


0D 


= 


0E 


Backspace 


OF 


Tab 


10 


q 


11 


w 


12 


e 



Key 
Number 



Scan 
Code 



Key 



19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 



13 


r 


14 


t 


15 


y 


16 


u 


17 


i 


18 





19 


p 


1A 


[ 


IB 


] 


1C 


Enter 


ID 


Ctrl 


IE 


a 


1F 


s 


20 


d 


21 


f 


22 


9 


23 


h 



3 
■3 
C 



■o 

C 



SI 

3. 

$ 

t» 

2 



(continues) 



386 



Chapter 9 — Input Devices 



Table 9.3 Continued 



Key 
Number 


Scan 
Code 


Key 




Key 
Number 


Scan 
Code 


Key 


37 


25 


k 




61 


3D 


F3 


38 


26 


1 




62 


3E 


F4 


39 


27 


; 




63 


3F 


F5 


40 


28 


' 




64 


40 


F6 


41 


29 


' 




65 


41 


F7 


42 


2A 


Left Shift 


66 


42 


F8 


43 


2B 


\ 




67 


43 


F9 


44 


2C 


z 




68 


44 


F10 


45 


2D 


X 




69 


45 


Num Lock 


46 


2E 


c 




70 


46 


Scroll Lock 


47 


2F 


V 




71 


47 


Keypad 7 (Home) 


48 


30 


b 




72 


48 


Keypad 8 (Up arrow) 


49 


31 


n 




73 


49 


Keypad 9 (PgUp) 


50 


32 


m 




74 


4A 


Keypad - 


51 


33 


, 




75 


4B 


Keypad 4 (Left arrow) 


52 


34 






76 


4C 


Keypad 5 


53 


35 


/ 




77 


4D 


Keypad 6 (Right arrow) 


54 


36 


Right 


Shift 


78 


4E 


Keypad + 


55 


37 


* 




79 


4F 


Keypad 1 (End) 


56 


38 


Alt 




80 


50 


Keypad 2 (Down arrow) 


57 


39 


Space 


bar 


81 


51 


Keypad 3 (PgDn) 


58 


3A 


Caps 


Lock 


82 


52 


Keypad (Ins) 


59 


3B 


F1 




83 


53 


Keypad . (Del) 


60 


3C 


F2 











Figure 9.7 shows the keyboard numbering and character locations for the original 84-key 
AT keyboard. Table 9.4 shows the scan codes for each key relative to the key number and 
character. 




Figure 9.7 

84-key AT keyboard key number and character locations. 



Keyboards 



387 



Table 9.4 84-Key AT Keyboard Key Numbers and Scan Codes 



Key 
Number 



Scan 
Code 



Key 



Key 
Number 



Scan 
Code 



Key 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 



29 


' 


02 


1 


03 


2 


04 


3 


05 


4 


06 


5 


07 


6 


08 


7 


09 


8 


0A 


9 


0B 





OC 


- 


0D 


= 


2B 


\ 


0E 


Backspace 


OF 


Tab 


10 


q 


11 


w 


12 


e 


13 


r 


14 


t 


15 


y 


16 


u 


17 


i 


18 





19 


P 


1A 


[ 


IB 


] 


ID 


Ctrl 


IE 


a 


IF 


s 


20 


d 


21 


f 


22 


9 


23 


h 


24 


i 


25 


k 


26 


1 



40 
41 
43 
44 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
57 
58 
61 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
90 
91 
92 
93 
95 
96 
97 
98 
99 
100 



27 


; 


28 


' 


1C 


Enter 


2A 


Left Shift 


2C 


z 


2D 


X 


2E 


c 


2F 


V 


30 


b 


31 


n 


32 


m 


33 


/ 


34 




35 


/ 


36 


Right Shift 


38 


Alt 


39 


Space bar 


3A 


Caps Lock 


3C 


F2 


3E 


F4 


40 


F6 


42 


F8 


44 


F10 


3B 


F1 


3D 


F3 


3F 


F5 


41 


F7 


43 


F9 


01 


Escape 


47 


Keypad 7 (Home) 


4B 


Keypad 4 (Left arrow) 


4F 


Keypad 1 (End) 


45 


Num Lock 


48 


Keypad 8 (Up arrow) 


4C 


Keypad 5 


50 


Keypad 2 (Down arrow) 


52 


Keypad (Ins) 


46 


Scroll Lock 




(continues) 




3 
■3 
C 



■o 

C 



SI 

3. 

&) 

2 



388 



Chapter 9 — Input Devices 



Table 9.4 Continued 



Key 
Number 



Scan 
Code 



Key 



Key 
Number 



Scan 
Code 



Key 



101 


49 


Keypad 9 (PgUp) 


105 


54 


SysRq 


102 


4D 


Keypad 6 (Right 


106 


37 


Keypad * 






arrow) 


107 


4A 


Keypad - 


103 


51 


Keypad 3 (PgDn) 


108 


4E 


Keypad + 


104 


53 


Keypad . (Del) 









Figure 9.8 shows the keyboard numbering and character locations for the 101-key en- 
hanced keyboard. Tables 9.5 through 9.7 show each of the three scan code sets for each 
key relative to the key number and character. Scan Code Set 1 is the default; the other 
two are rarely used. Figure 9.9 shows the layout of a typical foreign language 102-key 
version of the enhanced keyboard — in this case, a U.K. version. 




. ., 


/ j 


p=fiod 


o 


f7 = ^78 = ^§lr9 = ^3 

[Home Jl [ t J [pgUpJ 


- — (joe; 


| End J | I J 


PliDn 


■ {JOE 


, 


pr^ — V 


[El 









Figure 9.8 

101-key enhanced keyboard key number and character locations (U.S. version). 



Num Caps Scroll 




Figure 9.9 

102-key enhanced keyboard key number and character locations (U.K. English version). 



Keyboards 



389 



Table 9.5 101/102-Key (Enhanced) Keyboard Key Numbers and 
Scan Codes (Set 1) 



Key 
Number 



Scan 
Code 



Key 



Key 
Number 



Scan 
Code 



Key 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 



29 


' 


02 


1 


03 


2 


04 


3 


05 


4 


06 


5 


07 


6 


08 


7 


09 


8 


0A 


9 


0B 





OC 


- 


0D 


= 


0E 


Backspace 


OF 


Tab 


10 


q 


11 


w 


12 


e 


13 


r 


14 


t 


15 


y 


16 


u 


17 


i 


18 





19 


P 


1A 


[ 


IB 


] 


2B 


\ (1 01 -key 


3A 


Caps Lock 


IE 


a 


IF 


s 


20 


d 


21 


f 


22 


g 


23 


h 


24 


i 


25 


k 



only) 



39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
57 
58 
60 
61 
62 
64 
75 
76 
79 
80 
81 
83 
84 
85 
86 
89 
90 
91 
92 
93 



26 
27 


I 


28 
2B 


# (102-key only) 


1C 


Enter 


2A 


Left Shift 


56 


\ (102-key only) 


2C 


z 


2D 


X 


2E 


c 


2F 


V 


30 


b 


31 


n 


32 


m 


33 


* 


34 


. 


35 


/ 


36 


Right Shift 


ID 


Left Ctrl 


38 


Left Alt 


39 


Space bar 


E0,38 


Right Alt 


E0,1D 


Right Ctrl 


E0,52 


Insert 


£0,53 


Delete 


E0,4B 


Left arrow 


E0,47 


Home 


E0,4F 


End 


E0,48 


Up arrow 


E0,50 


Down arrow 


E0,49 


Page Up 


E0,51 


Page Down 


E0,4D 


Right arrow 


45 


Num Lock 


47 


Keypad 7 (Home) 


4B 


Keypad 4 (Left arrow) 


4F 


Keypad 1 (End) 




(continues) 



3 
■3 
C 



■o 

C 



SI 

3. 

&) 

2 



390 



Chapter 9 — Input Devices 



Table 9.5 Continued 



Key 
Number 



Scan 
Code 



Key 



Key 
Number 



Scan 
Code 



Key 



95 


E0,35 


Keypad / 


113 


3C 


F2 


96 


48 


Keypad 8 (Up 


114 


3D 


F3 






arrow) 


115 


3E 


F4 


97 


4C 


Keypad 5 


116 


3F 


F5 


98 


50 


Keypad 2 (Down 
arrow) 


117 


40 


F6 








118 


41 


F7 


99 


52 


Keypad (Ins) 














119 


42 


F8 


100 


37 


Keypad * 














120 


43 


F9 


101 


49 


Keypad 9 (PgUp) 














121 


44 


F10 


102 


4D 


Keypad 6 (Left 












arrow) 


122 


57 


F11 


103 


51 


Keypad 3 (PgDn) 


123 


58 


F12 


104 


53 


Keypad . (Del) 


124 


E0,2A, 


Print Screen 


105 


4A 


Keypad - 




E0,37 










125 


46 


Scroll Lock 


106 


4E 


Keypad + 








108 


E0,1C 


Keypad Enter 


126 


E1,1D,45, 
E1,9D,C5 


Pause 


110 


01 


Escape 








112 


3B 


F1 









Table 9.6 101/102-Key (Enhanced) Keyboard Key Numbers and 
Scan Codes (Set 2) 



Key 
Number 


Scan 
Code 


Key 


Key 
Number 


Scan 
Code 


Key 


1 


0E 


' 


17 


15 


q 


2 


16 


1 


18 


ID 


w 


3 


IE 


2 


19 


24 


e 


4 


26 


3 


20 


2D 


r 


5 


25 


4 


21 


2C 


t 


6 


2E 


5 


22 


35 


y 


7 


36 


6 


23 


3C 


u 


8 


3D 


7 


24 


43 


i 


9 


3E 


8 


25 


44 





10 


46 


9 


26 


4D 


p 


11 


45 





27 


54 


[ 


12 


4E 


- 


28 


5B 


] 


13 


55 


= 


29 


5D 


\ (101 -key only) 


15 


66 


Backspace 


30 


58 


Caps Lock 


16 


0D 


Tab 


31 


1C 


a 



Keyboards 



391 



Key 
Number 


Scan 
Code 


Key 


Key 
Number 


Scan 
Code 


Key 


32 


IB 


s 


86 


E0,7A 


Page Down 


33 


23 


d 


89 


E0,74 


Right arrow 


34 


2B 


f 


90 


77 


Num Lock 


35 


34 


g 


91 


6C 


Keypad 7 (Home) 


36 


33 


h 


92 


6B 


Keypad 4 (Left arrow) 


37 


3B 


i 


93 


69 


Keypad 1 (End) 


38 


42 


k 


95 


E0,4A 


Keypad / 


39 


4B 


I 


96 


75 


Keypad 8 (Up arrow) 


40 


4C 


/ 


97 


73 


Keypad 5 


41 


52 


' 


98 


72 


Keypad 2 (Down arrow) 


42 


5D 


# (102-key only) 


99 


70 


Keypad (Ins) 


43 


5A 


Enter 


100 


7C 


Keypad * 


44 


12 


Left Shift 


101 


7D 


Keypad 9 (PgUp) 


45 


61 


\ (102-key only) 


102 


74 


Keypad 6 (Left arrow) 


46 


1A 


z 


103 


7A 


Keypad 3 (PgDn) 


47 


22 


X 


104 


71 


Keypad . (Del) 


48 


21 


c 


105 


7B 


Keypad - 


49 


2A 


V 


106 


E0,5A 


Keypad + 


50 


32 


b 


108 


E0,5A 


Keypad Enter 


51 


31 


n 


110 


76 


Escape 


52 


3A 


m 


112 


05 


F1 


53 


41 


/ 


113 


06 


F2 


54 


49 


. 


114 


04 


F3 


55 


4A 


/ 


115 


OC 


F4 


57 


59 


Right Shift 


116 


03 


F5 


58 


14 


Left Ctrl 


117 


0B 


F6 


60 


11 


Left Alt 


118 


83 


F7 


61 


29 


Space bar 


119 


0A 


F8 


62 


E0,11 


Right Alt 


120 


01 


F9 


64 


E0,14 


Right Ctrl 


121 


09 


F10 


75 


E0,70 


Insert 


122 


78 


Fll 


76 


E0,71 


Delete 


123